Ste*_*ngs 5 memory printer windows-vista print-spooler
突然,在我管理的 Windows Vista Business 工作站上,Windows 打印后台处理程序服务消耗了超过 1GB 的内存。
今天早上我接到用户无法打印的电话。我发现控制面板中的打印机小程序中缺少所有打印机。我重新启动了机器,起初打印机仍然不见了,但几分钟后(我的头撞在墙上)它们突然出现了。
我不再担心它,直到今天晚些时候它再次发生在同一个工作站上。
据我所知,计算机上没有任何变化。没有添加新的打印机,没有安装新的打印驱动程序,也没有使用新的软件。
我尝试清除从今天早上开始确实有四个打印作业的假脱机文件夹 (C:\Windows\System32\spooler\printers),但在重新启动假脱机服务后问题仍然存在。启动服务时,它开始使用 824 KB 的内存,然后在大约 20 秒后开始每秒增加大约 10MB,直到稳定在 1.8GB 左右。
现在我正在逐个删除打印机并重新启动它们之间的假脱机程序。(这很有趣,因为每次我重新启动假脱机程序时,我都必须等待假脱机程序再次消耗 1.8GB,然后才能删除下一个)。所有真正的打印机都被删除了,只剩下 Fax、XPS 打印机和 Quicken PDF 打印机。我正在尝试删除所有驱动程序,发现有一个我们不再使用的打印机驱动程序拒绝删除。它说打印机正在使用中。打印机是 HP Color LaserJet 3500。
我已经尝试了我能找到的所有解决方案来删除该打印驱动程序(重命名驱动程序 unidrv.dll 然后重新启动假脱机程序、重新启动等)我的下一步是开车到那里并以安全模式启动并尝试在那个状态,但任何其他可以节省我驱动器的方法都会很棒。
我认为这是一个错误的打印驱动程序已加载到假脱机进程中。尝试一次删除一台打印机,重新启动后台处理程序服务并观察内存使用情况。
您可能还想研究进程监视器之类的东西,看看它是否可以看到进程已加载的 DLL(查找驱动程序)以及它是否可以识别 DLL 分配的内存。