

Still, if you’ve reached this point with no solution in sight, you won’t lose anything trying a different one. It’s rare for the Linux kernel to be the reason for high CPU utilization. Still, those don’t share the exact feature set and may lack some functionality. Alternatively, you can try open-source versions of your GPU’s drivers. The solution is upgrading or downgrading to a different version. Xorg doesn’t really get along with specific versions of Nvidia’s or AMD’s drivers. Sometimes the GPU’s drivers can cause high CPU usage, too. Sometimes, by enabling compositing support, you’re also enabling many demanding effects. Although officially the compositor offloads CPU-related tasks to the GPU, that’s not always the case. But it certainly shows which processes have been using the CPU(s) recently.Save the file, reboot, and hopefully, everything will work okay now.įor Xorg, try disabling your Window Manager’s compositor. top will continue running in your shell until you stop it using the standard key combination of Ctrl+C to exit a running process. By default, top automatically sorts these by CPU usage, so you can see the busiest processes first.

CPU percentage doesn't really take into account the waiting queues (while load average does): it's an after-the-fact statistic of what happened in a certain frame of time. The remainder of the displayed output shows the running processes and their usage statistics. it has so many threads to run that it pretty much swamps the 4 cores with requests. So 350% on a 4-core system means that, for a period of time, mysqld would be taking over three full CPUs and half the time of the fourth CPU - i.e. The CPU percentage shown by top is a measure of how often a single process is loaded by the kernel to run on the CPU, averaged over a period of time. A load average of 2.0 (on a single-core system( would mean that half the processes would be waiting for a chance to run on the CPU :-( A load average of 0.33 would mean that there is so little load on the system that 2/3 of the time the CPU is basically doing nothing but waiting for more processes to run. With one CPU, a load average of 1.0 means that this CPU is able to fully process all requests on the queue optimally - no process is waiting for CPU, and no CPU cycles are wasted (i.e. Load average shows how many processes are waiting on the queue (adjusted for the number of CPUs).
