Print spooler uses too much CPU - want to know if this is a safe fix

Started by pastywhitegurl, April 12, 2022, 01:38:21 AM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

pastywhitegurl

I periodically have to restart the print spooler because it takes 50% or more of CPU.  I usually just restart the service and its fine for another little while.  There are no files in any print queues, so that is not the issue.   In searching for a more permanent fix, I found the following advice. The poster said that it fixed the problem for him.

Quotehttps://thisinterestsme.com/fixed-spoolsv-exe-high-cpu-usage/
In the "Services" menu, find "Print Spooler" and right click on it.
On the context menu that appears after you right click, press "Stop". This will stop the "Print Spooler" service.
Once the Print Spooler service has been stopped, you will need to go to the following folder: C:\Windows\System32\spool\PRINTERS
Delete all of the cached files inside the PRINTERS folder.
After deleting those files, restart the "Print Spooler" process by right-clicking on it and selecting "Start".

Before I try it, I wanted to make sure it was safe to go into that System32 folder and delete the files.   I checked and there is a boatload of temporary files in there, so many that it took quite a while to load them.

My Windows10 computer specs are in my signature if needed.

plodr

I don't run Windows 10 but I've gone into the C:\Windows\System32\spool\PRINTERS folder and deleted files in Windows 7 without a problem. I'm fairly certain it is safe to do in Windows 10.

It sounds like you have a printer that doesn't clean up after itself. I had one HP that did that and I had to go in and do the procedure you outlined on my husband's computer. (I finally got rid of that printer.)
I did find a small program that did it automatically using a batch file. https://bradkovach.com/printflush/
I put this on the desktop and ran it before I tried to print anything on his computer.
Basically, it does what you've outlined with 1 click: stop the spool service, clean out the temp files, and start the print spool service.
Chugging coffee and computing!

pastywhitegurl

Thanks!  Glad to hear it is safe to try.

And thanks for the batch file link. I'll check that out.

pastywhitegurl

So I downloaded the batch file linked above.  Wanted to put it here to see if anyone sees a problem with running this on Windows 10 version 21H2

Developer says:
Print Flush works with Vista, Windows 7, and Windows 8, and Windows 10*!



Quote from: Contents of .bat file@ECHO OFF
echo ----------------------------------
echo Print Flush - 1.3 - By Brad Kovach
echo ----------------------------------
echo.

echo Step 1: Stop the Print Spooler
echo ------------------------------
net stop spooler
echo.

echo Step 1.5: Reassigning Print Spooler Dependencies
echo ------------------------------------------------
echo this step is important if you have a Lexmark printer which screws up the services and may make it impossible to start the print spooler
echo.
sc config spooler depend= RPCSS
echo.
echo Done!
echo.

echo Step 2: Erasing old chaf (junk printer documents)
echo -------------------------------------------------
del /Q /F /S "%systemroot%\System32\Spool\Printers\*.*"
echo Done!
echo.

echo Step 3: Problems eliminated! Restarting printer services
echo --------------------------------------------------------
net start spooler
echo Spooler has been restarted!
echo.

echo Step 4: Try printing again.

pastywhitegurl

O apparently I can't edit in this forum....

This is the file path on my system
C:\Windows\System32\spool\PRINTERS

This is the file path in the .bat file:
del /Q /F /S "%systemroot%\System32\Spool\Printers\*.*"


Since its different (even just in CAPS vs lowercase for Printers) , just wanted to verify I won't be breaking anything.

pastywhitegurl

OK. I think I may have messed up already.

I  sent some of the TMP files in the PRINTERS folder to the recycle bin, but didn't stop the printer spooler service first as directed in the method in the first post.

What is the purpose of stopping the service before deleting the files?  I can restore them from the recycle bin if necessary.

winchester73

Short answer ... the only way to be certain that the print spool releases all pending jobs is to turn it off first, then delete the .tmp files.  That said, if you don't stop it, you can safely delete the files first.  Reboot ... should they return, you'll need to stop first then delete.

I just looked at my system32 folder, there were about 30 .tmp files from 2016 (likely when I replaced my printer).  I did not stop the spooler, just deleted the files.  They are gone gone.

You might check to see if you have the most current printer driver installed.  A simple way to do that is to run the Windows 10 Printer Troubleshooter:

    Right-click your Windows Start menu
    Click Settings, then Update & Security > Troubleshoot
    In the Troubleshoot section, under Get up and running, click Printer
    Click Run the troubleshooter to begin

Alternatively,

Settings > Devices > Printers and Scanners, click the printer, click "Manage," and click "Run Troubleshooter."
Speak softly, but carry a big Winchester ... Winchester Arms Collectors Association member

pastywhitegurl

Thank you!

So, there were over 3000 TMP files in the PRINTERS folder.   1.6GB.  Yikes.  So rather than try to delete them manually, I made a restore point, crossed my fingers and ran the batch file posted by plodr.    Watched it run in the cmd panel and delete ALL 3000 temp files in about 10 seconds.

Folder is now empty and a document printed normally.   There were junk files in there from 2014!

I guess I'll need to run that printer flush script every so often now.

Now, to see if this fixes my spooler CPU overload.  I'll try to remember to report back.

pastywhitegurl

O...forgot to say I ran the troubleshooter and it didn't find anything.  Everything it checked was in order, including printer drivers.

plodr

Glad to hear you have it working and now lots more free space on the computer! (1.6 GB is a lot!!!) It sounds like your printer was like the one we had attached to my husband's computer. It was the only one that didn't clear out files. I kept the printer flush file on the desktop and simply ran it before I wanted to print something.
Chugging coffee and computing!

pastywhitegurl

Yes, what a bunch of files!  I'm going to keep the file and do that flush as well.  But on my last print job, it added only 2 files.  So it seems it will take a while to build up again.

Unfortunately, there is still some kind of problem.   So I have to keep the printer turned off to keep the wild CPU jump from happening. I'll explore updating the driver, but I'm pretty sure I've done that already sometime in the past year.  I have a Xerox  WorkCentre 3215.