-
表
010 - 62603429(
杨小姐)
?
占用
CPU
100%
的解决方法
作者:
车东
发表于:
2007-04-15 12:04
最后更新于:
2007-05-25 06:05
版权声明
:
可以任意转载,
转载时请务必以超链接形式标明文章
原始出处
和作者
信息及
本版权声明
。
/blog/archives/
现象:
1.
机器启动运行几分钟后
就会占系统
cpu
资源的
1
00%
2.
拔掉网线就好了,<
/p>
重连上网后一会儿:
又占
cpu
资源的
99%
;
解决:
假设
你已经使用了
免费杀毒软件
排除了病毒和已经使用
防间谍软件
排除了恶意
软件的影响:
想办法清空
C:WINDOWSSoftwareD
istribution
目录下所有的文件重启机器即
可
p>
。(
C:WINDOWSSoftwareDistributio
n
是
Windows update
服
务的临时文件
存放目录)
如果机器
提示文件正在使用(
服务正在运行)无法删除相
应目录:
则想办法打开控制面板
==>
管理工具
==>
服务,
p>
找到
Updates
,
设置成手动启动,
?
重启后再删除
C:WINDOWSSoftwareDist
ribution
。问题就解决了。
?
然后再打开控制面板
==>
管理工具
==>
服务
,找到
,
恢复成自动启动重启。
?
注意:重启
后最好在上网条件比较好的地方让系统顺利完成一次系统自动更新。
推广:
遇到
类似问题
的应该挺多的,如果你也发现这个方法有用,请将
/blog/archives/
这
个链接加到你的
blog
里。
html
代码:
多应用服务都是以来于这个接口
xhref=
/a>
原因分析:
先说说什么是
:简单的说没有这个服务机器几乎就上不了网了。很
RPC
的,
如果发现这个进程占了太多的
CPU
资源,
直接把系统的
RPC
服
务禁用了会是一场灾难:
因为连恢复这个界面的系统服务设
置界
面都无法使用了。恢复的方法需要
使用注册表编辑器,找到
HKEY_LOCAL_MACHINE
>>
SYSTEM
>>
CurrentControlSet
>>
Services
>>
RpcSs,
右侧找到
Start<
/p>
属性,把它的值改为
2
再重启即可
造成
svchost
占系统
CPU 100%
的原因并非
svchost
服务本身:以上的情况是由
于
Windows Update
服务下载
/
安装失败而导致更新服务反复重试造成的。而
Windows
的自动更新也是依赖于
svchost
服务的一个后
台应用,从而表现为
负载极高。
p>
常发生这类问题的机器一般是上网条件(尤其是去国
外网站)
不稳定的机器,
比如家里的父母的机器,
往往
在安装机器几个月以后不
定期发生,每个月的第二个星期是高发期:因为最近几年
MS
很有规律的在每个
月的第二个星期发布补
丁程序)。
上面的解决方法并不能保证不重发作,
但是为了
svchost
文件而每隔几个月重装<
/p>
一次操作系统还是太浪费时间了。
教
训:
和
的问题
都是应用遇到失败
/
例外情况后自动
重
试造成的,
本想为用户节省时间的设计,
但是重试的频度过高反
而导致了和病
毒一样的效果。
参考资料
:
CPU
Usage
100%,
when
my
Windows
using
Automatic
Update
?
吃掉所有
CPU
資源
?
微软官方说明:
使用“自动更新”搜索更新或对使用
Windows
Installer
的应用程序应用更新时,遇到涉及
进程的问题
?
Windows Update<
/p>
使
的问题跟踪
?
让你做个高手
全面认识
进程
日期:
2006-1-26 12:03:32
人气:
0
[
大
中
小
]
很多朋友对
进程都不太了解,有时在任
务管理器中一旦看到有
多个该进程(图
1
中有
6
个),就以为自己的电脑中了病毒或木马,其实并非如
此!
正常情况下,
Windows
p>
中可以有多个
进程同时运行,
例如
Windows
2000
至少有
2
个
Svchost
进程,
Windows XP
中有
4
个以上,
Windows 2003
中则
有更多,所以当你看到多个
Svchost<
/p>
进程时,未必就是病毒!
图
1
进程是干什么的?
文件存在于“%system
ro
ot%
system32”(例如
C:Windowssyst
em32
)
目录下,它是
Window
s NT
核心的重要进程(
Windows 9X
没有该进程),专门为系统启动各
种服务的。
例如<
/p>
调用
文件,
p>
就会启动
rpcss
服务
< br>(
remote
procedure
call
)。
实际上是
一个服务宿主,它本身并不能给用户提供任何服务,但是可以用
来运行动态链接库
DLL
文件,从而启动对应的服务。
进程可以同时启动多个服
务。
Svchost
是如何启动系统服务的?
由于系统服务都是以动态链接库<
/p>
(DLL)
形式实现的,它们把可执行程序指向
< br>Svchost
,
因此
Svch
ost
只要调用某个动态链接库,
即可启动对应的服务。
那么
Svchost
启动某服务时,
又是如何知道应该调用哪个动态链接库?这是由于系统服务在注册表中都设置了相关参数,
因此
Svchost
通过读取某服务在注册表
中的信息,
即可知道应该调用哪个动态链接库,
从而
启动该服务。
p>
下面我们以
Svchost
启动
helpsvc(Help and Support)
服务为例,介绍其
启动服务的方
法。在
Windows
XP
中点击“开始”|“运行”,输入“”命令,弹出服务对话
框,然后双击打开“Help
and
Support”服务
属性对话框,可以看到
helpsvc
服务的可执行
文件的路径为“C:
-
k
netsvcs”
(如图
2
)
,
说明
helpsvc
服务是依靠
< br>SVCHOST
调用“netsvcs”参数来实现的,而参数的内容则是存放在
系统注册表
中的。
图
2
<
/p>
在运行对话框中输入“”后回车,打开注册表编辑器,找到
[HK
EY_LOCAL_MACHINESYSTEMCurrentControlSetServiceshel
psvc]
项,找到类型为
“REG_EXPAND_SZ”的
键“magePath”,其键值为“%SystemRoot%
-
k
netsvcs”(这就是在服
务窗口中看到的服务启动命令
)
,
另外
在“Parameters”子项中有
个名为“ServiceDll”的键,其值为<
/p>
“%WINDIR%
PCHealthHelpCtrBinar
ies
”,其中“”就是
helpsvc
服务要使用的动态链接库文件。这样
SVCHOST
进程通过
读取“helpsvc”服务注册
表信息,就能启动该服务了。
Svchost
到底启动了哪些服务?
如果你想了解每个
SVCHOST
进程当前到底提供了哪些系统服务,
可
以在命令提示符下输
入命令来查看。例如在
Windows
XP
中,打开“命令提示符”,键入
tasklist
/svc
命令查
看;在
Windows
2000
中,则输入“Tlist
-
S”命令来查看。
如果你在
Windows XP
中,想
得到所有进程的详细信息,可以打开“命令提示符”,键
入
tasklist
/svc> <
/p>
命令,于是在当前目录中,将会生成一个
文件,其
内容就是当前正在运行的所有进程情况,例如进程名、
PID
号、该进程启动了哪些服务。
如何发现
Svchost
进程有问题?
由于
Sv
chost
进程可以启动各种服务,因此病毒、木马也经常伪装成系统的
DLL
文件,
使
Svchos
t
调用它,从而进入内存中运行、感染和控制电脑。
建议你使用“Windows
p>
优化大师”进程管理器(可以到《个人电脑》的下载频道
的“系统工具”中去下载),查看所有
Svchost
进程的执
行文件路径(如图
3
),
正常的
Svchost
文件应该存在于“c:
< br>Windows
system32”目录下,
如果你发现
其执行路径在其他目录下,
就有可能染上了病毒或木马了,
应该
马上进行检测和
处理。
图
3
Svchost
进程杀不掉怎么办?
如果有些
Svchost
进程,
你在任务管理器中无法关闭之,
可以使用<
/p>
ntsd
命令来杀掉它,
方法如下:
p>
首先需要了
解欲杀的
Svchost
进程,
其
p>
PID
是多少?在
Windows
XP
下,
按
Ctrl
+Alt+Del
打开任务管理器,点击“进程选项卡”|“查看”|“选择列”,在弹
出的窗口中(图
4
),
勾选“PID<
/p>
(进程标识符)
”,
然后回到任务管理器
中,
即可看见
PID
了
(例如要杀的
Svchost
进程,其
PID
是
844
)。
图
4
接下来关闭该进程。点击“开始”
|“程序”|“附件”|“命令提示符”,在命令提示
符下,输入命令
< br>ntsd -c q -p 844
即可杀掉
Svcho
st
进程(
PID
是
< br>844
)。
小提示:除了
System
、
和
< br>这三个进程,
ntsd
命令可以杀掉任何一
-
-
-
-
-
-
-
-
-
上一篇:topik第35届阅读翻译详解
下一篇:博途TIA安装与更新