For me, despite trying many, many different approaches and it taking a full day and a half of my time, the solution in the end was simple: I took a compressed air can and blew out the vents which hide inside the hinge for the screen.
That immediately stopped the fans from being noisy (which I'd not noticed had built up and up over the three years I've owned the machine) and allowed the temperature to come down.
I'd already half-heartedly tried blowing the dust out but apparently hadn't managed to clear it.
Note: Using compressed air is dangerous for your machine. Keep the can upright to avoid liquid coming out. The liquid is cold enough to damage delicate components. Spray in short bursts for the same reason. Also short bursts should help avoid spinning up the fans to some extent, which is thought to be potentially damaging (allegedly, I am not entirely convinced of this danger, but may be wrong!).
A safer and more complete option would be to take the machine to an Apple Genius Bar or other laptop repair place (if out of warranty) and get it opened and cleaned.
I was surprised how unplugging the monitor would immediately result in the kernel_task
process dropping back to normal. So the fact that it was purely temperature related wasn't easy to see, since I'd expect more of a lag for kernel_task
to calm down as the temperature declined.
I believe that, at least in my case, this is the true fix for the issue.
Note that, as mentioned in some other answers, the behaviour of kernel_task
is deliberate: https://support.apple.com/en-us/HT207359 Which says:
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.