The System process running on my Windows 7 installation uses almost 50% of CPU arbitrarily. I monitor the process with Process Explorer from Sysinternals.
Click the images to enlarge them...
What could be the problem?
migrated from stackoverflow.com Aug 12 '11 at 12:41
This question came from our site for professional and enthusiast programmers.
Without a profile trace from Performance monitor, this is impossible to nail down. AFAIK, the line you boxes is a standard device driver call(DPC stands for deferred procedure call IIRC).
In my situation it was cpu fan speed that was somehow slower than usual.
For some reason or another, the fan was slow, after 5 years of perfect operation, its settings got corrupt or whatever. So cpu got hot, so system was protecting things with this "high cpu usage in system process" trick. That is a trick to reduce core temperature.
In process explorer, system was ~40%, interrupts were 5-10%, dpc's were 5-10%.
These were some suggested solutions.
All these with ample restarts.
The solution was, turning the fan full on, instead of the automatic speed change. Possibly something went wrong with the automatic fan speed settings.
Bios > somehow reach fan and cpu temperature related sections > check cpu temperature.
If 90C, you have it. The fan speed was 1500rpm, which was slower than what I could remember, 2500rpm. Also, there was no fan noise, normally I would hear a lot of fan noise if the cpu was hot. In the related section of bios, turn the fan full on, and save bios settings. Fan should turn on full after restart of bios. And process explorer should again show 100% idle :)
Hope this helps.
I've encountered this in commercial settings before. The cause was usually a program that was relying on heavy amounts of disk activity, and/or some program that had problems. Specifically, the most common cause was backups. The way we figured this out was to check some common culprits. If you don't have backup software running, check whether there are any "scheduled tasks" that might be causing this. Also, check the System log and the Application log (using Event Viewer, accessible via Computer Management) to see if any program is reporting problems or activity (like a program starting up) when the slowdowns occur.
Naturally, you should also see what is running on the system, including programs run by other users. (UAC permission-elevation may be needed.)
To diag the CPU usage issues, you should use Event Tracing for Windows (ETW) to capture CPU Sampling data / Profile.
Now capture 1 minute of the CPU usage. After 1 minute click on Save.
Now analyze the generated ETL file with the Windows Performance Analyzer by drag & drop the
Inside WPA, load the debug symbols and expand Stack of the SYSTEM process. In this demo, the CPU usage comes from the nVIDIA driver.