办公室电脑长时间患怪病:不定时停止响应,假死状态。
查原因:是进程svchost.exe占用CPU过大,基本是100%;
初步解决:杀进程svchost.exe,电脑恢复正常,但是用不了多久,svchost又开始犯病,大量占用CPU时间;
分析:svchost.exe是系统核心进程,不可删除,首先怀疑是否被篡改,需要查看svchost.exe是不是在system32文件夹下,用第三方进程管理工具查看,6个svchost.exe进程都是system32下的同一个文件,说明svchost.exe没有被篡改,不是病毒。
这时,问题就复杂了,Svchost进程本身是服务进程,为其他进程提供服务,所以,不是svchost本身的问题,而是其他依赖于它的服务出了问题,只能一个一个排查:
解决:等svchost再出问题的时候,趁还没有完全死,用任务管理器,找到那个出问题的svchost.exe,记下PID,是2520;然后立即在dos下键入命令:tasklist/svc> list.txt
杀死这个svchost.exe,然后找到刚才输出的list.txt,内容如下:
System Idle Process 0 暂缺
System4 暂缺
SMSS.EXE1268 暂缺
CSRSS.EXE1348 暂缺
WINLOGON.EXE1372 暂缺
SERVICES.EXE1420 Eventlog, PlugPlay
LSASS.EXE1432PolicyAgent, ProtectedStorage, SamSs
SVCHOST.EXE1600 DcomLaunch, TermService
SVCHOST.EXE 1668RpcSs
SVCHOST.EXE 1852Dnscache
SVCHOST.EXE 1988LmHosts,RemoteRegistry,SSDPSRV,WebClient
EXPLORER.EXE 396暂缺
SVCHOST.EXE 1712BthServ
SVCHOST.EXE 2520CryptSvc, EventSystem, helpsvc, Netman,
RasMan, Schedule, SENS, TapiSrv, Themes,
winmgmt, wuauserv
……
找到PID为2520的svchost.exe,有11个服务……只能一点一点排查:
找到11个服务的相关资料,分别是:
1、Cryptographic Services服务名称:CryptSvc
进程名称:svchost.exe
功能说明:它主要用来确认Windows文件签名的,如果将其禁用,那么你会经常遇到报告驱动程序未被微软鉴定的警告框。同时这个服务也是WindowsUpdate手动或自动更新时所需要的。另外,在升级SP1 或SP2、DirectX 9.0必须要这个服务处于运行状态。而Windows MediaPlayer和一些.NET应用程序也需要该服务。它大约占用1.9MB内存空间。
默认设置:自动
普通配置:自动
网络配置:自动
单机配置:已禁用
2、COM+ Event System服务名称:EventSystem
进程名称:svchost.exe
功能说明:为使用COM+程序提供系统事件支持,或曰自动发布到订阅 COM 组件。建议保持Windows的默认设置。
默认设置:手动
普通配置:手动
网络配置:手动
单机配置:手动
极端配置:已禁用
3、Help and Support服务名称:helpsvc
进程名称:svchost.exe
功能说明:WindowsXP搜索和帮助功能所必需的服务,但我们并不是每天都要用到这个功能,因此建议设置为“已禁用”,需要时再启动它。
默认设置:自动
普通配置:已禁用
网络配置:已禁用
单机配置:已禁用
极端配置:已禁用
4、Network Connections服务名称:Netman
进程名称:svchost.exe
功能说明:网络连接管理着“网络和拨号连接”文件夹中的所有对象。如果你有任何网络连接(包括Internet拨号连接)就保持“手动”状态。否则若你禁用它,在“网络和拨号连接”文件夹中将什么都看不到,更不用说新建连接和拨号上网了。
默认设置:手动
普通配置:手动
网络配置:自动
单机配置:手动
极端配置:已禁用
5、Remote Access Connection Manager
服务名称:RasMan
进程名称:svchost.exe
功能说明:用于创建网络连接,如果你使用了Internet共享,那么该服务就是必需的了。另外,一些Cable 和DSL连接需要此服务才能正常运行。如果你使用了硬件网关和路由器,那么它就不必开启了。
默认设置:手动
普通配置:手动
网络配置:自动
单机配置:已禁用
极端配置:已禁用
6、Task Scheduler服务名称:Schedule
进程名称:svchost.exe
功能说明:用来管理计划任务的,比如每周按时整理磁盘等。如果你不使用Windows的计划任务,那么可以将其设置为:已禁用。
默认设置:自动
普通配置:已禁用
网络配置:已禁用
单机配置:已禁用
极端配置:已禁用
7、System Event Notification服务名称:SENS
进程名称:svchost.exe
功能说明:和“COM+ Event System”是依存关系,系统日志主要用来记录登录和电源事件。
默认设置:自动
普通配置:自动
网络配置:自动
单机配置:已禁用
极端配置:已禁用
8、Telephony服务名称:TapiSrv
进程名称:svchost.exe
简单地说这个服务能为计算机提供电话拨号的能力。如果你使用拨号方式连接到Internet或通过电话线连接其他计算机,就应将其设为“手动”。
默认设置:手动
普通配置:手动
网络配置:自动
单机配置:已禁用
极端配置:已禁用
9、Themes服务名称:Themes
进程名称:svchost.exe
功能说明:Windows XP桌面主题服务,一个主题将占用大约4~12MB。
默认设置:自动
普通配置:自动
网络配置:手动
单机配置:手动
极端配置:已禁用
10、Windows Management Instrumentation服务名称:Winmgmt
进程名称:svchost.exe
功能说明:Windows管理规范和Windows管理规范驱动程序扩展,WMI是Windows 2000中的基础管理结构,它通过一组常用接口控制和监视系统(如对系统属性的查看与更改、设置用户权限等)。为加快系统启动速度,我们可以将这两个服务设置为“手动”,待系统启动后在需要的时候再自动用它们。
默认设置:自动
普通配置:自动
网络配置:自动
单机配置:自动
极端配置:自动
11、Automatic Updates服务名称:wuauserv
进程名称:svchost.exe
功能说明:Windows自动升级的服务。要注意的是,不管是通过Windows Upda te手动或自动升级,都需要BackgroundIntelligent Transfer Service和System EventNotification这两个服务的支持。
默认设置:自动
普通配置:自动
网络配置:自动
单机配置:已禁用
极端配置:已禁用
其中大多数系统服务无法停止,只能先试着停止了两个:helpsvc和TapiSrv,也就是windows帮助服务和电话拨号服务。
重启,结果令人满意:至今为止,svchost没有再出现问题,只能说我的运气好,出问题的服务刚好是可以停止的,如果是系统关键服务无法停止,那只能重新安装服务或者重装系统了。
另一个思路,也可以多次用tasklist查看出问题的svchost,查看每次服务进程有什么不同,相同的留下来,不同的可以排查出去,最后筛选出有问题的服务,只是我现在还没有试。
查了很多资料,发现网上没有直接讲这个问题的文章,希望这篇文章能对大家解决svchost问题提供一点思路。