[MacBook Pro (13-inch, 2020, Four Thunderbolt 3 ports), 2.3 GHz Quad-Core Intel Core i7, 16 GB RAM, running Monterey 12.6.4]
kernel_task consumes inordinate CPU periodically--around 100+% according to command-line
top utility. At the same time all apps using the network lose their connection--e.g. disconnecting Zoom and any other streaming data for 30 seconds to several minutes. As soon as
kernel_task drops from the top CPU process, the network resumes. Wi-Fi never drops, just the network traffic stops. This is very disruptive.
I was told that
kernel_task does this to cool the CPU because it is overheating. I moved the power connector to one of the right side ports to run cooler (as suggested). It made no difference. Resetting the SMC seems to reduce the number of occurrences, but it eventually happens again in a week or two.
I wrote some scripts to log CPU temperature, fan speed, system load, and when
kernel_task takes over. I'm getting CPU temperature and fan speed from running "
powermetrics --samplers smc" as root.
I discovered several interesting items:
kernel_taskalmost never takes over (meaning 100%+ CPU use) when the CPU temperature is high.
kernel_tasktakes over at normal operating temperatures.
- Fan speed doesn't change any differently with
kernel_tasktaking over as if
kernel_taskdoesn't do anything to fan speed.
powermetricsonce showed a jump from 69C to 89C over a 5 second span while the fan speed increased by less than 1%. Having a heat-sink on a CPU would make this unlikely.
- Laptop is 2 years old but
kernel_taskwas not recognized as a problem until the second year. I don't recall network freezing at all during the first year.
From the above I'm thinking:
- We've been lied to about what
kernel_taskactually does since behavior (consuming 100+% of the CPU) doesn't seem directly correlated with CPU temperature.
kernel_taskdoesn't directly address overheating.
powermetricsmight be lying about temperatures, fan speeds, and when they occur.
- SMC is an unreliable mess.
kernel_taskunnecessarily throttles/shuts down network activity.
I don't really care about the temperature issues. I want
kernel_task to stop blocking my network connection at random times. Is there a fix for any of this besides replacing the hardware?