Why is kernel_task using a high CPU?
If you’ve ever tried to diagnose a Mac that’s running slowly by using Activity Monitor, you’ve probably noticed a process called ‘kernel_task’ apparently using lots of CPU cycles. Most Mac users wonder ‘why is kernel_task using up high CPU?’ In this article, we’ll explain precisely what kernel_task does and why it uses up so many CPU cycles. And we’ll tell you what to do to stop it.
What is kernel_task?
The kernel of an operating system is its core — it’s the building block upon which the rest of the OS is built. In macOS’ case, the kernel is based on Unix. That’s why, for example, we use Unix commands in Terminal, Mac’s command-line interface.
The process called kernel_task, however, has a very specific and essential function – to manage your CPU temperature. It does this by preventing processes that are trying to use lots of CPU cycles from doing so. In effect, it claims those CPU cycles for itself. So, when you use Activity Monitor to check which processes are hogging CPU cycles, kernel_task will be near the top of the list.
Why is kernel_task using high CPU cycles?
It’s not actually using the CPU cycles to perform calculations; it’s just preventing them from being used and, in doing so, ‘throttling’ the CPU. Throttling CPU performance is a common and effective way to avoid overheating. It’s likely that if kernel_ task is running, your Mac’s fans are also running. When you hear the fans spin up and see kernel_task in Activity Monitor, it seems logical to assume that kernel_task is the cause of the problem, when in fact, it’s a symptom.
The reason that kernel_task is using so many CPU cycles because another process is putting stress on the CPU and causing it to run hot. That process could be one that you’ve chosen to run, such as encoding a video file, or it could be a rogue process that’s running because an application has run into trouble. Adobe Flash was a common cause of overheating CPUs and those kernel_task having to grab CPU cycles, but most of us have removed Flash from our Macs by now (and if you haven’t, you should), so it’s less common.
How to stop kernel_task from taking up CPU cycles
The most important thing to note is that kernel_task takes CPU cycles for a reason: to keep your Mac from overheating. So, if you quit the process in Activity Monitor, it will just restart. That’s a good thing. If your Mac overheats, it could be seriously damaged.
So, to stop kernel_task from using so many CPU cycles, you need to deal with the root of the problem. There are two possibilities for your Mac overheating:
- The ambient temperature is very high, and/or your Mac is poorly ventilated.
- There is a process or processes that are very CPU-intensive and putting your Mac at risk of overheating.
Of those, the second is the most likely. But if the room you’re in is hot, or your Mac is in direct sunlight, try moving somewhere else. That may be all you need to do. Also, check that the ducts for the fan are free from dust.
To tackle number 2, open Activity Monitor. But ignore kernel_task – remember, that’s not actually using CPU cycles; it’s just preventing other processes from using them. Look for other processes that are using a high percentage of CPU cycles. If you find any, use the ‘Quit process’ button in the toolbar to shut them down.
If quitting processes doesn’t solve the problem, or the processes restart automatically, try rebooting in Safe Mode. Safe Mode loads only the bare minimum extensions needed for your Mac to run and doesn’t load launch agents or login items. It also runs some repairs and maintenance routines while your Mac starts up.
- Shut down your Mac.
- Press the power button while holding the Shift key.
- Release the Shift key when you see the login window.
- Log in.
- You may have to log in a second time. You should see ‘Safe Mode’ at the top of the log-in window.
Once you’ve booted in Safe Mode, use your Mac for a while and then check Activity Monitor to see if ‘kernel_task’ is running. If not, usually reboot and continue using your Mac. You may not need to do anything else. But if your Mac slows down again and the ‘kernel_ task’ runs, a launch agent or login item may be causing the problem. You can remove launch agents and login items quickly and easily using CleanMyMac X.
There is one other possibility: malware. When your Mac is infected with malware, one of the symptoms is that it hogs CPU cycles. Malware creators aren’t concerned with making their code efficient or ensuring it doesn’t demand too much of your Mac. To check whether this is the problem on your Mac, you should scan it with an anti-malware tool. There’s one in CleanMyMac X if you need it.
If you see kernel_task running in Activity Monitor, it's because the temperature sensors in your Mac have detected that it’s at risk of overheating. To prevent that, kernel_task stops other processes from using CPU cycles. To identify and fix the root of the problem, follow the steps above.