“System” process suddenly using CPU a lot

cpu-usageprocesswindows-server-2003

In win2k3sp2, I've never seen this before and have not installed anything recently, but seemingly out of nowhere, the System process (not the idle process) is taking a lot of CPU whenever anything else is. That is, sitting idle, it's at 0. If I go and start a program like Thunderbird, while loading, thunderbird.exe and System will be competing for CPU usage, sometimes with System getting more than 50% (it's a dual-core system). I look at the total CPU time column, and System ranks sixth, just below SQL Server! This has never been the case before.

1) This is bad, right?
2) What's causing it?

I thought it might be the RAID, but that's a separate process, and the config util isn't reporting anything wrong.

I'm tempted to reset the server, but it's in production, so I'd rather not at the moment unless I'm sure it will do more good than harm. Also, I don't feel like it's "due for a reset," since it's only had thirteen days' uptime.

Best Answer

Download and run Process Explorer. When you launch it you should see quite a bit of information, but what you should look at are two processes just under the System Idle Process node.

You should see one called Interrupts and DPCs. If those are spiking along with the System process, the problem is being caused by drivers. Generally you'll see this caused by things like the hard drive running in PIO mode (for direct attached storage using the ATA interface) or network cards that are offloading their work to the CPU.

If you only see the System process node taking up the CPU you know that it's Windows taking up the resources and not a faulty driver/hardware.

Keep in mind that this won't tell you exactly what's happening but it'll give you a place to start looking.