very slow PC due to spoolsv.exe using 100% CPU
Customer has a PC that seems almost stopped.
The mouse pointer moves without a problem, but actions like clicking on the start button take over 1 minute to complete…
I try safe mode, and the PC operates normally.
Maybe its an infection… but there are none of the obvious signs (popups and strange startup programs).
I restart in normal mode, and start the task manager as quickly as possible. Hopefully I’ll get a look at whats causing the problem before task manager becomes unusable.
And it works. I see spoolsv.exe sitting at 100% cpu usage.
Hold on. spoolsv is the printer spool service… why would a print spooler go haywire?
Anyway, I kill the process, and everything returns to normal… for about 1 minute.
Then everything starts slowing down again.
A look at task manager shows that spoolsv.exe has been restarted…
Hmmm, I guess I’ll just lower the priority of the spooler… but permission is denied. In that case, I stop the spooler service (control panel -> administrative tools -> services)
Now I can use the system, and look for a solution.
It seems that a few different places on the net agree that the best way to resolve this to delete the files in the c:windowssystem32spoolprinters
I’m a bit more cautious, so I start in safe mode, make sure the spooler service is stopped (and spoolsv.exe is not running). Then I move the 2 files (*.spl & *.shd) to a temporary folder.
I restart the PC, and the problem is finally fixed.
But wait!
About a week later, it happens again (on the same PC). Over the phone, I guide someone through fixing it, and then it happens again a few hours later…
I do a lot more research, and find that there are a few other reasons why this problem can recur:
- A problem with Norton antivirus
- Someone printing to a shared printer from elsewhere on the network
- the printer: Microsoft Office Document Image Writer can cause this (deleting it can fix things)
- Some mysterious spooler problem (fixable by changing advanced printer properties to “print directly to the printer” ie bypassing the spooler system)
- bugs with nvidia drivers
- microsoft update kb887742
I implement a combination of the above, and the problem goes away for good… except the “print directly to the printer” option causes some delays when printing large documents.
There are some workarounds (like printing from another “idle” PC, or experimenting to find out which setting is the one that “works”), so I might need to look into a more exact solution at some point in the future.