Want to highlight a helpful answer? Upvote!

Did someone help you, or did an answer or User Tip resolve your issue? Upvote by selecting the upvote arrow. Your feedback helps others! Learn more about when to upvote >

Looks like no one’s replied in a while. To start the conversation again, simply ask a new question.

kernel_task eats entire CPU when hot

I use my MacBook Pro outdoors on the job. For a significant portion of the year, the ambient temperatures here are in the 90-110 range.


While outdoors on the job (but at no other time), I have been having a problem where the machine bogs down to an absolute crawl. The reason is kernel_task eating up the entire CPU (450%+).


At first I thought this was a mal-interaction between Mac OS and Windows under Parallels, but after a year of this problem, I believe I have correlated it with high ambient temperatures. Quitting all apps makes no difference. Rebooting either makes no difference or makes a difference only for a very brief interval. Upgrading the OS from Yosemite to Sierra made no difference. The problem is more likely to occur later in the day than earlier, and when the computer has been in use for a while versus when I first unsleep it. When I return to the (air-conditioned) office and unsleep the computer, the problem is gone.


I've tried examining Console while the problem is occurring, but I see nothing obvious in the logs (which, of course, I can only examine at a snail's pace anyway), and the Sierra Console ***** much harder than previous versions.

On searching for this behavior, I found several postings implying that kernel_task looping was making machines hot, but only a very few suggesting that hot machines were causing kernel_task to loop. Some of the latter recommended something called CoolBook, but that stopped working in Lion, and seemed only to be a metering tool anyway -- I can meter the ambient temperature all day, but that won't make it get any cooler.


Does anybody know offhand why heat would cause kernel_task to loop?

Can anybody tell me what is it trying to do?


Failing that, can anybody tell me how to find out what kernel_task is doing when it's looping?

MacBook Pro, macOS Sierra (10.12.6)

Posted on Oct 9, 2017 6:55 PM

Reply
Question marked as Best reply

Posted on Oct 10, 2017 12:47 AM

C. D. Tavares wrote:


I use my MacBook Pro outdoors on the job. For a significant portion of the year, the ambient temperatures here are in the 90-110 range.


Please read Mac notebooks: Operating temperature - Apple Support. If ambient temperature exceeds those limits kernel_task may need to throttle the CPU in an effort to reduce its operating temperature. Occupying a large percentage of the CPU time should be considered normal for the duration of those conditions.


High density altitude will also have an effect on temperature limitations. If you are using your Mac at a particularly high altitude, then ambient temperature should be even less than what Apple specifies. MPBs are "tested" to 10,000 feet but Apple doesn't relate altitude with ambient temperature, nor do they describe the nature of those tests.



A runaway kernel_task can be due to a number of factors, such as:


  • a failed or disconnected temperature sensor
  • cooling system inefficiency (an inoperative exhaust fan on Macs so equipped, possibly clogged with dust, including the heat sink)
  • a worn out, missing, or non-Apple (user-installed) battery on portable Macs
  • similar hardware-specific causes including internal hardware additions or modifications, external USB and other connected devices, or the driver software required to use them.


If you can find no other explanation for its behavior, an SMC Reset is justified: Reset the System Management Controller (SMC) on your Mac - Apple Support.

6 replies
Question marked as Best reply

Oct 10, 2017 12:47 AM in response to C. D. Tavares

C. D. Tavares wrote:


I use my MacBook Pro outdoors on the job. For a significant portion of the year, the ambient temperatures here are in the 90-110 range.


Please read Mac notebooks: Operating temperature - Apple Support. If ambient temperature exceeds those limits kernel_task may need to throttle the CPU in an effort to reduce its operating temperature. Occupying a large percentage of the CPU time should be considered normal for the duration of those conditions.


High density altitude will also have an effect on temperature limitations. If you are using your Mac at a particularly high altitude, then ambient temperature should be even less than what Apple specifies. MPBs are "tested" to 10,000 feet but Apple doesn't relate altitude with ambient temperature, nor do they describe the nature of those tests.



A runaway kernel_task can be due to a number of factors, such as:


  • a failed or disconnected temperature sensor
  • cooling system inefficiency (an inoperative exhaust fan on Macs so equipped, possibly clogged with dust, including the heat sink)
  • a worn out, missing, or non-Apple (user-installed) battery on portable Macs
  • similar hardware-specific causes including internal hardware additions or modifications, external USB and other connected devices, or the driver software required to use them.


If you can find no other explanation for its behavior, an SMC Reset is justified: Reset the System Management Controller (SMC) on your Mac - Apple Support.

Oct 9, 2017 7:17 PM in response to C. D. Tavares

It's not really looping the CPU. It just makes the kernel_task "busy" so it can't process other tasks as quickly. It's essentially idling.


If you actually have fans in that MBP (or even if you don't), then it could be some other piece of software interfering. Since kernel_task does just about everything, it could be something you have installed that is incompatible with the OS.


If kernel_task is using a large percentage of your Mac CPU - Apple Support

Dec 5, 2017 11:26 AM in response to C. D. Tavares

C. D. Tavares wrote:


This fits the symptoms exactly. Funny, one would expect kernel_task looping would make the CPU hotter, not cooler, but I suppose kernel_task is actually just executing some unusual kind of privileged interrupt delay that masquerades as a CPU in use.


The link provided by Barney-15E explains its purpose:


"One of the functions of kernel_task is to help manage CPU temperature by making the CPU less available to processes that are using it intensely. In other words, kernel_task responds to conditions that cause your CPU to become too hot, even if your Mac doesn't feel hot to you. It does not itself cause those conditions. When the CPU temperature decreases, kernel_task automatically reduces its activity."

kernel_task eats entire CPU when hot

Welcome to Apple Support Community
A forum where Apple customers help each other with their products. Get started with your Apple ID.