Print Spooler服务解析和故障处理的示例分析

72次阅读
没有评论

共计 1431 个字符,预计需要花费 4 分钟才能阅读完成。

丸趣 TV 小编给大家分享一下 Print Spooler 服务解析和故障处理的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

Print Spooler 服务描述: 管理所有本地和网络打印队列及控制所有打印工作。如果此服务被停用,本地计算机上的打印将不可用。如果此服务被禁用,任何依赖于它的服务将无法启用。

可执行文件路径: c:\WINDOWS\system32\spoolsv.exe

Spooler(打印后台处理服务)的进程名是 spoolsv.exe,WinXP Home/PRO 默认安装的启动类型是自动,依赖于 Remote Procedure Call。Spooler 是为了提高文件打印效率,将多个请求打印的文档统一进行保存和管理,先将要打印的文件拷贝到内存,待打印机空闲后,再将数据送往打印机处理。这样处理速度更快些。建议将其设置为手动,有打印任务时再打开。如果没有打印机自然是禁用了。

出错实例:
1、Print Spooler 服务启动失败:Print Spooler 服务的默认启动方式为自动,由于 Print Spooler 服务的依赖关系里没有 Server 服务(可能是安装某些软件时造成了注册表项丢失),从而试图抢先在 Server 服务启动之前启动 Print Spooler 服务造成的,在注册表里给 Print Spooler 服务增加依赖项 LanmanServer,再把 Print Spooler 服务的启动方式改为自动,出错现象得到了解决。

2、每次开机以后发现 spoolsv.exe 进程消耗了大量的 cpu 资源(70%),严重影响了系统的运行。
  我们知道每当创建一个打印任务以后,会在 %systemroot%\system32\spool\printers 目录下创建 2 个文件,扩展名分别为 shd 和 spl。如果估计没错,肯定是这里出现问题了。远程控制,打开 %systemroot%\system32\spool\printers 目录检查,果然发现有 2 个文件,扩展名分别为 shd 和 spl,如果删除这 2 个文件会不会解决 spoolsv.exe 进程消耗大量的 cpu 资源的问题呢?
我们来进行故障处理:
尝试先把   print spooler 服务停止掉,然后再把 %systemroot%\system32\spool\printers 目录下的 shd 和 spl 文件删除,重新启动   print spooler 服务,故障排除。故障分析:
print spooler 服务启动的时候会检查打印队列,如果发现有未完成的队列则会尝试执行,如果队列文件被破坏,则可造成 print spooler 服务执行的时候出现死循环,导致 spoolsv.exe 进程消耗大量的 cpu 资源.
spl 文件为当前脱机文件,包含当前打印任务。
shd 文件为当前脱机打印的信息文件,包含谁发起了打印任务,打印任务中的队列信息,以及该打印任务发送到哪里等等信息。
此外还伴随一些 tmp 文件,如果 spl、shd 文件出现问题,或者打印队列送往无效打印机,又或者送往的打印驱动模块无法正确响应,这可能导致 spoolsv.exe 进行反复尝试,进而占用大量 cpu 资源,这个现象有可能导致系统挂起。 

以上是“Print Spooler 服务解析和故障处理的示例分析”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注丸趣 TV 行业资讯频道!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计1431字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)