Link to home
Start Free TrialLog in
Avatar of NatRider65
NatRider65Flag for United States of America

asked on

Printer Server Driver Faulty Driver

Everyone, I have a fully updated Windows Server 2008 R2 that is functioning as the print server for ±100 users. I have several Kyocera, HP, and Fax printers that are managed using the "Print and Document Services" role. This server is a VM that lives in a VMware ESX 4.1 environment.

The issue:  This server has been working great for several months now. However, lately, the processor cycles are consistently running at 75~95%.

Observation:  When I stop the print spooler service, the processor activity drops substantially.  If I reboot all of the workstations then reboot the server, the processor activity drops to almost nothing.  As soon as users begin printing, the processor creeps up.

Steps taken:  I have stop/started the print spooler, updated to the latest print drivers, updated Windows Server to SP1.

Normally I would uninstall all of the printers then go from there. However, each user is assigned a "printer box" in their printer preferences.  Unfortunately, the Kyocera drivers are not "Group Policy" friendly and the printer box has to be set manually (we haven't been able to locate anything in the registry, ini files, etc.)

Question:  How can I troubleshoot the server/print drivers in order to locate the faulty driver?  

Thanks a bunch,

-------Mark
Avatar of gheist
gheist
Flag of Belgium image

What makes you think driver is at fault? In case of HCL driver ask Microsoft for support.
Stop spooler, clean spool area (directory where there are lots of *.SP[ld] files start it again.
Use sysinternals contig.exe against spool directory
Avatar of NatRider65

ASKER

I failed to mention that I had already checked the Print Spooler folder. There were only 2 files in there, and the dates were current, but I deleted them anyway. My apologies.

My inclination toward a printer driver was precipitated by the fact that:

The CPU cycles decrease when the spooler service is stopped.
The spool service on the workstations (that I checked) was creating high CPU cycles.
After a reboot of the server and all of the workstations, the CPU cycles are "normal"
As more and more users begin printing, the CPU cycles begin creeping higher

That being said, let's look at this a different way:  

If it is not a faulty print driver, what would be causing high CPU cycles, yet match the symptoms listed above?

I'm open to any suggestions.

Thanks.
Printer driver on server and workstation is not active inside spoolsvc process, driver files are simply shared to users .
I would suspect 3rd party print processor or port driver
For sake of experiment change all printers to use microsoft TCPIP ports only and WinPrint RAW processors only. This is requirement for spooler on windows cluster btw.
ASKER CERTIFIED SOLUTION
Avatar of lamaslany
lamaslany
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Thanks for all of the replies. I apologize for the delay in responding.

As mentioned in my first post under Steps Taken, I stopped and started the "spoolsv.exe" process. While that service was stopped, I saw a substantial CPU usage decrease. I have the VM set to 3 processors.  All 3 sre avg. 80-95%. When I stopped the spool service, CPU's 2 and 3 went to 0-ish,  and CPU 1 went to 25-45% usage.The largest user of CPU was the spoolsv.exe service.

All printers are using standard Microsoft TCP/IP ports and set to RAW.

I did notice that there is a TPVM "ThinPrint Print Port for VMware".  Could that be an issue?

Thanks
Unused ports are not a root of a problem.

Also setting spool settings to "print after last page is spooled" does not try to intermix pages from two documents

Also Page Protection options take a lot of CPU.
Here's the latest:

I've checked several WinXP and Win7 workstations, and the spoolsv.exe process is using high CPU cycles.  I ended that process (on each workstation) and the CPU cycles dropped to almost zero.

On the server: I had several error events in the logs. The source was "PrintService", EventID was "337", "The print queue could not be found on domain mydomain.domain.com. It must have been deleted from the Active Directory directory service. Windows will attempt to republish the print queue. Error: 2116"

I did some research on this error and it was suggested that I remove the printers from AD by unchecking the "List in the Directory" on the Sharing tab of the printer. I did this and it seems that the errors have subsided on the print server.

However, the CPU cycles are still very high.

Any more ideas?

On a side note, I'm still now quite sure about the EE points system.  Is this question worth more points?  I want to be fair.
Is CPU used by spoolsv or by something else?
Your ends somehow do not add up. You end the process and it still consumes CPU time? Does not make a sense.
Can you run proceexp.exe from sysinternals to find where the CPU time goes?
If your AV scans spool files just exclude spool directories from it. No virus in printer data files.
When did I say "I end the process and it still consumes CPU time?" How could a non-running process consume CPU time anyway?

Getting back to my CPU issue, I put together a quick script using pskill from PStools. I ended the "spoolsv.exe" process on all of my workstations, and the CPU usage on the server went to 0%. Flatline.  I did not reboot nor end any processes on the server, only on the workstations.
killing service process leaves spool files behind. please restart service instead.


>and the CPU cycles dropped to ALMOST zero
Restart the service where--on the server or the workstations?
So is this the end?

Thanks anyway to all of you that responded.

--------Mark
With your way of killing processes you generate garbage in spool directories KNOWINGLY.