[THIN] Re: need some help

  • From: "Rick Mack" <ulrich.mack@xxxxxxxxx>
  • To: thin@xxxxxxxxxxxxx
  • Date: Fri, 22 Jun 2007 08:43:14 +1000

Hi,

Printing should be high on your list of possible culprits, though it's worth
mentioning corrupt profiles, handle leaks and kernel memory depletion as
other possibilities. In the latter cases perfmon is your friend at least in
terms of gettiong trends. And if you've got the Citrix enterprise product,
then you can put extra memory monitoring into RM.

The basic problem with printing is that Microsoft didn't have the good sense
to move the spooler out of the kernel after NT 4.0.

That means that things that adversely affect the spooler can lead to
problems with the IMA service, and the RPC service and eventually something
that ought to be quite trivial can toast a server. But just restarting the
spooler isn't enough.

There are some really simple things you can do to at least stabilise
printing:

(1) test ALL your printer drivers with the AddPrinters utility from Citrix

It's not that hard, using the Microsoft print migrator (printmig31) to copy
the printer setup (drivers, queues etc) from a production server to a test
machine (could be a Windows XP desktop) to run the AddPrinter tests. Weed
out any drivers giving you errors (replace with equivalent drivers) and life
just got a lot easier.

(2) Make your spooler self healing by using the recivery option on the
printer spoooler service to run a batch file that deletes all files in
system32\spool\printers before retsrating the spooler.

Pending print jobs to non-exisitent (disconnected) client autocreated
printers can cause you grief. Deleting stale print jobs BEFORE restarting
the spooler is going to get rid of these and make sure things don't keep
getting worse. On CPS4 or later you'll also have to stop (and restart) the
Citrix Print Manager service.

(3) Do the same thing in you reboot script, except remember to both stop and
restart the spooler just in case the reboot fails.

In this scenario use:

net stop cpsvc
net stop spooler
del /q %systemroot%\system32\spool\printers\*.*
net start spooler
net start cpsvc


regards,

Rick

--
Ulrich Mack
www.commander.com

Other related posts: