49 12
发新话题
打印

[其它] 成功解决CPU经常无缘无故出现占用100%的情况

成功解决CPU经常无缘无故出现占用100%的情况


成功解决CPU经常无缘无故出现占用100%的情况
症状:经常无缘无故出现CPU占用100%的情况
  初步诊断:系统资源占用得高,有很多种可能性,但最常见的故障来自于Svchosts.exe,它是一个容器,承载着各种系统服务,所以Svchost.exe突然出现问题,那就一定是有系统服务出了故障。
  小知识——Svchost.exe有什么作用
  Svchost.exe是NT内核操作系统(Windows 2000/XP/2003都属于NT内核操作系统)独有的进程,“Svchost”其实就是“Service Host”(服务宿主)的缩写。微软官方对它的定义是:Svchost.exe是从动态链接库(DLL)中运行的服务的通用主机进程名称,通俗讲,它就是一个服务装载器。大家可以把每个服务想象成一张音乐CD,而Svchost.exe就是用来播放这种CD的CD机。每个Svchost.exe进程都包含多个系统服务,同时系统中也有多个Svchost.exe进程(Windows XP会有4~6个Svchost.exe进程,而Windows 2000通常只有2个Svchost.exe进程,这个数字都是根据已启动的服务的情况而定的)。
  小提示
  点击“开始→运行”,在运行框中输入“CMD”回车,然后在打开的命令行窗口中输入“Tasklist /svc”(不含引号)命令,可以更直观地看到每个Svchost.exe进程装载的服务名称列表。
  处方:用Process Explorer找出藏在Svchost.exe里的坏蛋
  实际上Svchost.exe中的服务都是进程中的DLL模块,所以用进程查看工具找出进程中有问题的线程模块,就能找到问题所在。
  第一步:找出有问题的进程。下载并安装Process Explorer,运行后在主界面中找到CPU占用率较高的Svchost.exe进程,将鼠标悬停在这个进程项上时,会显示出这个进程中具体包含哪些系统服务。
第二步:找出有问题的线程。右击有问题的进程项,选择“Properties”(属性),在弹出的属性框中切换至Threads选项卡,就能看到下方列表中CPU占用率最高的线程,选中它后点击“Suspend”(暂停),如果这时系统的高CPU占用现象得到缓解,则说明已经确诊了,再点击“Stack”(堆栈),可以看到大多数占用CPU的操作都源于wuaeng.dll的文件。

  第三步:找出有问题的服务。运行services.msc打开服务管理界面,根据刚才找到的问题文件的名称查找匹配的服务,同时可以根据经验对文件名的全称进行推算,比如“wuaueng”就很容易让人想到“Windows update Automatic Updates Engine”(Windows升级-自动升级引擎),根据综合比对可以将最后目标锁定为“Windows Update”服务,因为它的服务名称是“wuauserv”。


  第四步:关闭问题服务。在服务管理界面中双击打开有问题的服务项,然后在其属性窗口中将“启动类型”设置为“手动”并点击“停止”就行了。
附:Process Explorer下载地址:http://www.newhua.com/soft/19289.htm

TOP

TOP

TOP

3

TOP

高手啊!学习。
旧社会人变成鬼 新社会鬼变成人

TOP

TOP

TOP

谢谢

TOP

高手啊!学习

TOP

谢谢

TOP

谢谢

TOP

谢谢提供

TOP

TOP

TOP

谢谢

TOP

TOP

学习了

TOP

学习了

TOP

学习了

TOP

ddd

TOP

学习

TOP

学习

TOP

TOP

TOP

毛主席教导我们说;看贴要回,进空间要踩,有果果就加

TOP

学习!!

TOP

TOP

HENYOUYONG.

TOP

学习


TOP

3q
以小利积成大利,从’负’翁转成’富’翁!

TOP

 49 12
发新话题

拒绝任何人 以任何形式在本论坛发表与中华人民共和国法律相抵触的言论!
欢迎大家对不合法及不健康内容进行监督和举报。举报电话:0595-85555775