12

I'm using an iMac (late 2015) with an Intel core i7 (quad core) 4GHz CPU with 32GB ram and a 3TB Fusion Drive. I'm a software developer working on a huge codebase that used to take about 30 minutes to build and run unit tests on my beast of a machine. Of course, running the build meant that the CPU usage was up through the roof and the fan working at its fastest speed.

I upgraded to macOS sierra yesterday, and my first attempt to build the project I'm working on took three and a half hours! During this time my computer and fan were as quiet as a sleeping baby.

I did some investigation and found that whenever a process uses too much CPU power to the extent of making the fans audible, in just a couple of seconds I see the CPU usage of this process falling down, and after a few minutes, the fan sound goes down too. It seems that in Sierra a feature was added to make sure that the CPU doesn't overheat by throttling the processor usage for high CPU demand processes automatically.

What I need to know is how to disable/configure this feature, because it's killing my productivity. I really love the other great features in Sierra, but I would certainly downgrade if there is no way to disable this auto-throttling.

4

Here are a few broad steps from a post on "Disable OS X kernel_task throttling" which you will need to try since I don't have an iMac on hand. Strongly suggest you read the post in detail and also understand potential risks before executing this sequence.

  1. Disable System Integrity Protection so you can make system folder edits with steps at
    How do I disable System Integrity Protection (SIP) AKA “rootless” on OS X 10.11, El Capitan?
  2. Boot into single-user mode with Command-S sequence
  3. Mount the filesystem:
    fsck -y; mount -uw /
  4. Backup the IOPlatformPluginFamily.kext extension
    rsync -av /System/Library/Extensions/IOPlatformPluginFamily.kext /Users/Shared/
  5. now delete the IOPlatformPluginFamily.kext extension and restart
    rm -rf /System/Library/Extensions/IOPlatformPluginFamily.kext; shutdown -r now

If/when you want to restore the configuration,
rsync -av /Users/Shared/IOPlatformPluginFamily.kext /System/Library/Extensions

The /Users/Shared/ location for storing extension is a subjective choice. You can backup in any other safe place (even on an external drive). As long as you can retrieve it when you want to rollback this action.

  • Thanks. I'll try this soon, and if it works, I'll mark this as the accepted answer – Alaa Nassef Sep 24 '16 at 22:55
  • Worked for me. 59˚C and no slowdowns. Used to get thermal throttling at 45˚C. – Dev Jan 26 '17 at 5:53
  • Doesn't this action risk the CPU running at minimal speed, i e it also turns off Turbo? – MiB Feb 3 '17 at 11:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .