I recently ran into a strange problem where a process called System (NT Kernel & System) was using about 15 to 30 percent of the CPU on my Windows machine all the time.

image

Table of Contents

    In the above screenshot, System is using 0 percent CPU, which is how it normally should be. The system process basically houses the kernel and driver code plus system threads and is an essential Windows process. Don’t try to kill the process or remove it.

    Before getting into any technical details, this problem is usually caused by a bad or outdated hardware driver in Windows. There are a couple of things you want to check immediately:

    New Hardware – Did you recently install any new hardware on your Windows machine? Graphics card, hard drive, sound card, TV tuner card, etc? If so, you need to go to the manufacturers website and download the latest driver from there. If you only installed the driver from the CD that came with the new hardware, it may be out of date.

    Updated Driver – Did you recently update a driver and are seeing the higher CPU usage after the update? Sometimes the latest drivers may also cause problems. In this case, you should try to roll back the driver and see if that fixes the problem.

    In my case, I had installed a new graphics card on my PC and installed the driver from the CD. It wasn’t the latest driver and since it was a kernel mode driver, it was causing this spike in the System process.

    If you can’t figure out which driver is causing the issue, there is a more technical procedure that you can follow to find the exact problem driver. First, download a program called KrView (Kernrate Viewer), which is a free tool from Microsoft.

    It’s a command line tool, so open a command prompt and then just run the program without any arguments. Here’s what the results should look like:

    image

    Now you can see which device drivers are getting the most hits in the kernel. The first one is called ntkrnlpa and can be ignored. You want to look at the other drivers after that. In this case b57nd60x. So this driver is for what hardware exactly you are wondering?

    Well, in order to figure that out, you need to download another free tool from Microsoft called Process Explorer. Install it, run it and then go to the DLL view in order to see the loaded drivers.

    image

    As you can see the b57nd60x.sys DLL is the driver for the Broadcom NetXtreme Gigabit Ethernet card. Sweet! Now you just need to go and find the updated driver for the network card and hopefully the spike in the CPU will go away.

    Of course, the other solution in this type of case is to simply disable that piece of hardware or remove it from your system completely if you don’t need it or can’t find an updated driver. Source: Technet.