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?
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.