High CPU utilization while print spooler service start on Terminal Server 2003
Is there any tweak or third party tool which can manage printer driver during printing by any user on Terminal Server
Clarification added June 23, 2009:
I think I should clarify that when any user give print it installing printer driver on it and then able to print....during this msiexec process also utilize cpu.
Answers (8)
Leonid L.
Software Engineer at Linedata Services
Best Answers in: Using LinkedIn (8), Education and Schools (4), Mentoring (3), Government Policy (3), Software Development (3), Customer Service (2), Car and Train Travel (2), Compensation and Benefits (2), Small Business (2), Starting Up (2), Event Marketing and Promotions (1), Treaties, Agreements and Organizations (1), Internet Marketing (1), Graphic Design (1), Public Relations (1), Organizational Development (1), Bond Markets (1), Currency Markets (1), Quality Management and Standards (1), Supply Chain Management (1), Individual Insurance (1), Wealth Management (1), Market Research and Definition (1), Product Design (1), Career Management (1), Ethics (1), Blogging (1), E-Commerce (1), Enterprise Software (1), Computers and Software (1), Databases (1), Information Security (1), Web Development (1)
I thought printing was an intense task, and that is why I am assuming you have a dedicated print server. You can simply pen a print queue and see the print jobs, cancel them if necessary ...
Is it Citrix or Microsoft Terminal Server? It most likely has to do with the print driver. You can customize a few things natively with Windows Server in Terminal Services Configuration, but not much. With Citrix, the universal print driver seems to work pretty well. You can specify that by making a policy and applying it to a subset of users...
Printing has always been a pain in the butt with Terminal Services however.
Printer drivers are almost always the culprit in this case. Older drivers especially were written with workstations in mind, not servers with shared resources--and certainly not TS or Citrix in mind. Try using the latest drivers or replacing old printers. That may include old desktop printers squirreled away on users' desks; when they remote connect, their printers may be mapped to the server through their remote sessions.
The workaround I've used in the meantime is to restart the print spooler service on the server. Obviously, print jobs in process during that moment will be lost, so choose your moment wisely.
Dave
In my experience, I have always found that a few things usually occur on a Microsoft Windows Server 2003 terminal server that are common when you experience printing issues which result in extremely high spooler processes.
I have found that utilizing printers which can not utilize 2003 drivers can cause problems. Print monitors cause issues as well through constant management of the print jobs for that printer. Mapping printers from the server to the workstation with a shared printer can sometimes corrupt the print spooler. And finally, sometimes the print folder under C:\WINDOWS\system32\spool\PRINTERS can get full of garbage with shockwave and flash files. So you need to stop the print spooler service, delete the files from the folder and restart the print spooler service.
The reality is that to discover the problem you would need to start analyzing the events as they occur and review the logs. Once you find the culprit (printing device) you can troubleshoot from there. Sometimes, you have no choice but to run the dreaded print spool cleaner from Microsoft because you have no other choice but to dump all the drivers and start over.
Remember, killing a print jobs is a lot more manageable than restarting your server, and removing all the print drivers, and reinstalling compatible print drivers is a lot easier than having to hear from your clients all day long that the print jobs are killing the server performance while your clients are remoted in.
For what its worth, the best solution is almost never the easiest. So after all that is said and done, take the time to do what is right. You will have much less headaches.
Which process is using the majority of the CPU? I recommend opening task manager, going to the processes tab and sorting by CPU. I would also tend to lean towards driver issues here but the exact process can be more telling. What model of printer is it? Which version of the driver are you using? Is it connected via LPT, USB, or via TCP/IP?
Neeraj K.
Service Delivery Manager at CSC
Best Answers in: Computer Networking (3), Telecommunications (1)
1. http://support.microsoft.com/kb/947477
2. Consider upgrading to SP2
3. Faulty print driver could be the culprit. Consider upgrading the driver or go for Generic driver
4. Remove the lexmark enhanced communications software & restart the spooler service ( only do this step if applicable in your environment)
Chris M.
Sr. Network Engineer at Perimeter Technology Center
Best Answers in: Computer Networking (3), Information Security (1)
HP Universal Print driver had a serious bug that caused this behavior for a long time. The newest versions of it seem to fix the problem. I had one system though that had millions of bogus registry entries that completely messed things up. I've linked the thread that I used to clean those registry entries up and at the time there was no update available, so I followed the instructions to replace the *.dll files with zero byte files to fake out the msiexec installer. Like I said, I think the newer version of the driver can solve this. But check these registry keys:
HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Terminal Server\Install\Software\Hewlett-Packard
HKU\ .DEFAULT\Software\Hewlett-Packard
If your system hangs for a long time to read the keys then you might have the problem...
In the linked thread, the post from "Michael Chung-Haas" is the one that has the info.
Links:
Have a look at thinprint in a TS or Citrix environment for remote printing