Print Spooler服务解析和故障处理
2010-09-27 15:04
260 查看
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资源,这个现象有可能导致系统挂起。
本文出自 “滴水穿石孙杰” 博客,请务必保留此出处http://xjsunjie.blog.51cto.com/999372/397992
可执行文件路径: 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资源,这个现象有可能导致系统挂起。
本文出自 “滴水穿石孙杰” 博客,请务必保留此出处http://xjsunjie.blog.51cto.com/999372/397992
相关文章推荐
- 标准的Windows蓝屏故障的分析、处理流程和VMware服务错误记录
- Windows7共享中心服务或组启动故障的相关处理方法
- 线上服务故障处理原则
- 走近华佗,解析自动化故障处理系统背后的秘密
- PostgreSQL服务过程中的那些事二:Pg服务进程处理简单查询二:SQL解析为parsetree
- 解决添加打印机print spooler打印服务自动关闭故障
- jdk源码解析(五)——虚拟机性能监控与故障处理工具
- 线上故障处理——大量异常堆栈日志输出影响服务可用性
- 构建负载和故障处理的MSMQ代理服务构想
- oracle 服务基本操作,启动,停止 故障处理
- print spooler服务自动关闭的处理
- 走近华佗,解析自动化故障处理系统背后的秘密
- 【微服务No.2】polly微服务故障处理库
- print spooler服务自动关闭的处理
- Windows文件共享服务(SMB)访问常见故障处理
- RHEL5下DNS服务的配置与故障处理
- 一个MySQL数据库服务不能正常启动的故障处理过程
- 关于DNS服务无法解析问题处理
- Oracle几个基础配置问题:ORA-12154: TNS: 无法解析指定的连接标识符、ORA-12514: TNS: 监听程序当前无法识别连接描述符中请求的服务、ORA-12516 TNS监听程序找不到符合协议堆栈要求的可用处理程序
- 走近华佗,解析自动化故障处理系统背后的秘密