Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

We've got a terminal server that locks up frequently (well, explorer hangs, not a complete freeze; we can 'fix' it by restarting the print spooler service) due to a bad printer driver.

The event log doesn't seem to contain any useful information. Is there any easy way to identify the problem driver without uninstalling the lot and re-adding them one by one (there are a lot of drivers installed and as the problem is intermittent this would take forever).

share|improve this question

4 Answers 4

I had this issue a while back with a terminal server. We found the cause to be a Nortel scanning/printing driver that had been installed on the server with VoIP software. The easiest way is to go and find all the installed drivers on the server. Go to Printers and Faxes, right click, server properties. Go to drivers tab, and verify each one is compatible with your OS version. Remember PCL5e over 6, and keep user drivers off of the server!

Also give this a shot...Print Stress test from Citrix http://support.citrix.com/article/CTX109374

share|improve this answer
    
Why PCL5e over 6? I run PCL 6 for a HP ColorLaserJet and haven't had any issues. Should I change this driver? –  Matt Jun 10 '09 at 14:46
    
Typically a PCL5 driver will be more stable and tested than a PCL6 driver. –  XTZ Jun 10 '09 at 19:16
    
Good to know, thanks for the info –  Matt Jun 11 '09 at 15:57

We had this a while ago with a number of clients, unfortunatly we did not find an easy way of determining the problem printer. So it was on a one printer at a time basis that we found the fix.

What models of printer are you working with? mostly the same or a mixture? my first recommendation would be to check the inkjet or multifunction type printers first as their drivers tend to be bloated and often causes problems on terminal servers.

HTH

share|improve this answer

Unfortunately, there isn't an easy way to tell which driver it is that's causing your spooler go nuts.

splattne mentions looking for an errant svchost.exe. The print spooler is spoolsv.exe, though. If you see spoolsv.exe sitting around consuming 100% CPU, then you probably have a printer driver going nuts.

You might get lucky, using Process Explorer and the "Threads" tab, catching it "in the act" and seeing what DLL the threads consuming the majority of CPU are running in. That's worth giving a shot, assuming you can "catch it in the act".

To minimize the effort, though, instead of testing them "one by one", you might do a binary search-- remove half of them and see if the problem goes away. If it doesn't, remove half of the remaining half, and so on, until you find the offending driver.

share|improve this answer
    
i think even a binary search is going to take too long. but i like the processs explorer idea. i'll give it a shot. cheers. –  bugs Jun 10 '09 at 9:57
    
Sorry, many services are hosted by svchost, I forgot that the printer spooler isn't one of them. I corrected my answer. Thank you! –  splattne Jun 10 '09 at 10:15

It sounds like the Windows printer spooler service uses 100% of the CPU. Verify this, searching for a spoolsv.exe process and see if the process utilizes a high percentage of CPU time.

If you can confirm that is one of the printer drivers creating the problem, I would try to update every printer driver to the last version.

share|improve this answer
    
svchost is nothing to do with with the printer spooler... –  bugs Jun 10 '09 at 9:50
    
I edited my answer. Sorry, many services are hosted by svchost.exe, I forgot that the printer spooler isn't one of them. Thanks! –  splattne Jun 10 '09 at 10:16
    
there's only one spooler process though! –  bugs Jun 10 '09 at 10:19
    
sure you're right, since it's not hosted by svchost, there is no necessity of using tasklist /svc. –  splattne Jun 10 '09 at 10:22

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.