cpu利用率很高

来源:百度知道 编辑:UC知道 时间:2024/05/20 05:16:50
我的电脑进程里有5个svchost.exe,一个用户名是LOCAL SERVICE,两个是NETWORK SERVICE,还有两个是SYSTEM.每次打pplive,或者用迅雷下载东西,就会有一svchost.exe(用户名为network service)CPU利用率就很高,而且pplive和迅雷的cpu利用率也很高,总共的cpu利用率是百分之百.以前用pplive感觉cpu利用率很低的,用迅雷下载东西cpu利用率好像也不高.不知道这是怎么回事?请高手指导一下.
我用卡巴斯基查过毒,没查到.手提电脑,HP的,512M内存,cpu主频2.0G,硬盘80G.

从你所说来判断这些进程都是正常的,绝对没有问题
不过不排除有其他的可疑进程,首先你在进程中看看有无可疑进程,特别对CPU占用率高的进程注意一点(不过你所说的pplive和迅雷一般来说开启的话占用率都比较大,但一直达到百分百那就有问题),如果你对进程不是很熟悉的话可以先用杀毒软件杀一下。
假如排除了病毒的话,通常都是CPU的散热问题所造成的,你可以检查一下CPU风扇或者再涂点导热胶看看。

Svchost本身只是作为服务宿主,并不实现任何服务功能,需要Svchost启动的服务以动态链接库形式实现,在安装这些服务时,把服务的可执行程序指向svchost,启动这些服务时由svchost调用相应服务的动态链接库来启动服务。

那么svchost如何知道某一服务是由哪个动态链接库负责呢?这不是由服务的可执行程序路径中的参数部分提供的,而是服务在注册表中的参数设置的,注册表中服务下边有一个Parameters子键其中的ServiceDll表明该服务由哪个动态链接库负责。并且所有这些服务动态链接库都必须要导出一个ServiceMain()函数,用来处理服务任务。

例如rpcss(Remote Procedure Call)在注册表中的位置是 HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServicesRpcSs,它的参数子键Parameters里有这样一项:
"ServiceDll"=REG_EXPAND_SZ:"%SystemRoot%system32 pcss.dll"
当启动rpcss服务时,svchost就会调用rpcss.dll,并且执行其ServiceMain()函数执行具体服务。

既然这些服务是使用共享进程方式由svchost启动的,为什么系统中会有多个svchost进程呢?ms把这些服务分为几组,同组服务共享一个svchost进程,不同组服务使用多个svchost进程,组的区别是由服务的可执行程序后边的参数决定的。

例如rpcss在注册表中 HKEY_LOCAL_MACHINESYSTEMCurrentCon