相信你的一定遇到过电脑不知道怎么的就突然停止运行或者运行缓慢迟钝,只能眼看鼠标滑动而不能进行任何操作的时候,很多人都会经常遇到这样的问题:CPU占用率100%改如何解决,本文将从多个角度给你全方面的解析,希望阅读完本文希望在今后你遇到问题的时候能够带给你一些帮助。
一、经常出现
CPU
占用
100%
的情况,主要问题可能发生在下面的某些方面。
1
、驱动没有经过认证,造成
CPU
资源占用
100
%。大量的测试版的驱动在网上泛滥,造成了难以发现的故障原因。
2
、杀毒软件
CPU
使用率占用
100%
现在的杀毒软件一般都加入了,对网页、邮件、个人隐私的即时监空功能,这样无疑会加大系统的负担。比如:在玩游戏的时候,会非常缓慢。关闭该杀毒软件是解决得最直接办法。
3
、病毒、木马造成。
出现CPU占用率100% 的故障经常是因为病毒木马造成的,比如震荡波病毒。应该首先更新病毒库,对电脑进行全机扫描 。接着,在使用反间谍软件Ad—Aware,检查是否存在间谍软件。论坛上有不少朋友都遇到过svchost.exe占用CPU100%,这个往往是中毒的表现。
间谍广告杀手Ad-aware
svchost.exe Windows中的系统服务是以动态链接库(DLL)的形式实现的,其中一些会把可执行程序指向svchost.exe,由它调用相应服务的动态链接库并加上相应参数来启动服务。正是因为它的特殊性和重要性,使它更容易成为了一些病毒木马的宿主。
大量的蠕虫病毒在系统内部迅速复制,造成CPU占用资源率据高不下。解决办法:使用最新的杀毒软件在DOS模式下进行杀毒。经常性更新升级杀毒软件和防火墙,加强防毒意识,掌握正确的防杀毒知识。
4
、开始->运行->
msconfig
->启动,关闭不必要的启动项,重启。
5
、网络连接导致
CPU
使用率占用
100%
查看网络连接。主要是网卡。当你的Windows2000/xp作为服务器时,收到来自端口445上的连接请求后,系统将分配内存和少量CPU资源来为这些连接提供服务,当负荷过重,就会出现上述情况。要解决这个问题可以通过修改注册表来解决,打开注册表,找到HKEY—LOCAL—MACHNESYSTEMCurrentControlSetServiceslanmanserver,在右面新建一个名为";maxworkitems";的DWORD值.然后双击该值,如果你的电脑有512以上内存,就设置为";1024";,如果小于512,就设置为256.
二、
CPU
资源占用
100
%:看进程,看硬件,看系统。
6
、查看
“svchost”
进程。
Svchost.exe是Windows XP系统的一个核心进程。Svchost.exe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有Svchost.exe的存在。一般在Windows 2000中Svchost.exe进程的数目为2个,而在Windows XP中Svchost.exe进程的数目就上升到了4个及4个以上。
如何才能辨别哪些是正常的Svchost.exe进程,而哪些是病毒进程呢?
Svchost.exe的键值是在“HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionSvchost”,每个键值表示一个独立的Svchost.exe组。
微软还为我们提供了一种察看系统正在运行在Svchost.exe列表中的服务的方法。以Windows XP为例:在“运行”中输入:cmd,然后在命令行模式中输入:tasklist /svc。系统列出服务列表。如果使用的是Windows 2000系统则把前面的“tasklist /svc”命令替换为:“tlist -s”即可。
如果你怀疑计算机有可能被病毒感染,Svchost.exe的服务出现异常的话通过搜索Svchost.exe文件就可以发现异常情况。一般只会找到一个在:“C:WindowsSystem32”目录下的Svchost.exe程序。如果你在其他目录下发现Svchost.exe程序的话,那很可能就是中毒了。
还有一种确认Svchost.exe是否中毒的方法是在任务管理器中察看进程的执行路径。但是由于在Windows系统自带的任务管理器不能察看进程路径,所以要使用第三方的进程察看工具。
上面简单的介绍了Svchost.exe进程的相关情况。总而言之,Svchost.exe是一个系统的核心进程,并不是病毒进程。但由于Svchost.exe进程的特殊性,所以病毒也会千方百计的入侵Svchost.exe。通过察看Svchost.exe进程的执行路径可以确认是否中毒。
7
、把网卡、显卡、声卡卸载,然后重新安裝一下驱动。
8
、重装系统、常用软件、当然也要装驱动。用几天看一下,若不会出现这种问题,再装上其他软件,但是最好是一个软件装完,先用几天。出现问题再接着装!
三、
CPU
占用
100%
案例分析:是
dllhost
进程在搅局。
特征:服务器正常CPU消耗应该在75%以下,而且CPU消耗应该是上下起伏的,出现这种问题的服务器,CPU会突然一直处100%的水平,而且不会下降。查看任务管理器,可以发现是DLLHOST.EXE消耗了所有的CPU空闲时间,
dllhost进程
管理员在这种情况下,只好重新启动IIS服务,奇怪的是,重新启动IIS服务后一切正常,但可能过了一段时间后,问题又再次出现了。
直接原因
:
有一个或多个ACCESS数据库在多次读写过程中损坏,微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其它线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST中。
解决办法
:
安装“一流信息监控拦截系统”,使用其中的“首席文件检查官IIS健康检查官”软件,
启用”查找死锁模块”,设置:
--wblock=yes
监控的目录,请指定您的主机的文件所在目录:
--wblockdir=d: est
监控生成的日志的文件保存位置在安装目录的log目录中,文件名为:logblock.htm
停止IIS,再启动“首席文件检查官IIS健康检查官”,再启动IIS,“首席文件检查官IIS健康检查官”会在logblock.htm中记录下最后写入的ACCESS文件的。
过了一段时间后,当问题出来时,例如CPU会再次一直处100%的水平,可以停止IIS,检查logblock.htm所记录的最后的十个文件,注意,最有问题的往往是计数器类的ACCESS文件,例如:”**COUNT.MDB”,”**COUNT.ASP”,可以先把最后十个文件或有所怀疑的文件删除到回收站中,再启动IIS,看看问题是否再次出现。我们相信,经过仔细的查找后,您肯定可以找到这个让您操心了一段时间的文件的。
找到这个文件后,可以删除它,或下载下来,用ACCESS2000修复它,问题就解决了。
四、如何打开进程列表
?
看系统资源杀手-进程。
要通过进程列表查看系统是否染毒,必须打开当前的执行程序进程列表,Microsoft的每种系统都有相应的打开方法,但能够显示的能力却因(系统)不同,有所差异:
Windows任务管理器下的进程列表
1.Windows 98 /Me
系统
打开系统进程的方式很简单,快捷键“Ctrl+Alt+Delete”(如图1),这个窗口大家应该比较熟悉,使用Windows系统的用户都知道用这个方法来关闭程序,不过它同样用于显示系统进程,只是Windows 98系统较初级,对进程的显示局限于名称,且里面所显示的还有打开的文件及目录名,查看时易混淆。Windows Me的进程打开方式和Windows 98相同。
Windows 9X系统打开的进程列表混乱且不完全,显然不便于查看系统的具体进程状况,所以建议使用一些工具程序来为Windows 9x系统显示进程,如“Windows优化大师”,在“优化大师”的“系统安全优化”项内打开“进程管理”,在图2所示的“Windows 进程管理”窗口内,可以详细查看当前计算机所运行的所有进程,及具体程序所在的位置,这样更方便完成后面要介绍的如何利用进程进行查毒、杀毒。
2.Windows 2000/ XP/2003
系统
Windows 2000、Windows XP、Windows 2003打开进程窗口的方式与Windows 9x系统相同,只是三键后打开的是“Windows 任务管理器”窗口,需要选择里面的“进程”项。Windows 2000系统只显示具体进程的全名,占用的内存量;Windows XP、Windows 2003系统相比Windows 2000会显示该进程归属于那个用户下,如操作系统所必须的基础程序,会在后面的“用户名”内显示为“SYSTEM”,由用户另外开启的程序则用户名为当前的系统登录用户名。
五、如何发现病毒?怎么手动把病毒干掉。
经进程发现病毒
在介绍具体的查毒和杀毒前,笔者先回答开篇提出的两个问题。为什幺杀毒软件并不能全面的查找和杀掉病毒?
首先,病毒防火墙是通过对程序进行反汇编,然后与自己的病毒库进行对比来查找病毒,如果病毒较新,而杀毒软件又未能及时升级便不能识别病毒。
电脑蠕虫病毒袭击多台电脑
其次,杀毒软件在发现病毒后,如果是独立的可执行病毒程序,会选择直接删除的处理方式,而病毒如果被当作进程执行了,杀毒软件就无能为力了,因为它没有功能和权限先停止掉系统的这些进程,被当作进程执行的程序是不能被删除的(这也是大家在删除一个程序时,提示该程序正在被使用不能删除的原因)。所以在使用杀毒软件杀毒时,才会有杀毒完成后,又出现病毒提示的原因。
回到原来话题上!通过进程如何发现和杀掉病毒呢?
由前面的知识介绍可知,Windows 9X和Windows 2000系统只能显示进程的名称,这对判断该进程是否是病毒还不够,如果要准确的断定病毒,最好使用前面介绍的“Windows优化大师”来查看进程程序的源路径。
如果是“C:Windowssystem”下的一些未知的“EXE”那便极有病毒的可能性了。Windows XP和Windows 2003系统,进程后会有“用户名”的显示,病毒是不可能获得“SYSTEM”权限的,所以应注意“用户名”是当前登录用户的进程,一旦发现是病毒,可以立即“杀掉”。这里介绍两个技巧:
1.
发现可疑进程后,利用
Windows
的查找功能,查找该进程所在的具体路径,通过路径可以知道该进程是否合法,譬如由路径
“C:Program Files3721assistse.exe”
知道该程序是
3721
的进程,是合法的。
2.
在对进程是否病毒拿不定主意时,可以复制该进程的全名,如
:“xxx.exe”
到
googl.com
或
baidu.com
这样的全球搜查引擎上进行搜查,如果是病毒会有相关的介绍网页。
确定了该进程是病毒,首先应该杀掉该进程,对于Windows 9x系统,选中该进程后,点击下面的“结束任务”按钮,Windows 2000、Windows XP、Windows 2003系统则在进程上单击右键在弹出菜单上选择“结束任务”。“杀掉”进程后找到该进程的路径删除掉即可,完成后最好在进行一次杀毒,这样就万无一失了。
六、
svchost.exe
造成
CPU
使用率占用
100%
(一)
在win.ini文件中,在[Windows]下面,“run=”和“load=”是可能加载“木马”程序的途径,必须仔细留心它们。一般情况下,它们的等号后面什幺都没有,如果发现后面跟有路径与文件名不是你熟悉的启动文件,你的计算机就可能中上“木马”了。当然你也得看清楚,因为好多“木马”,如“AOL Trojan木马”,它把自身伪装成command.exe文件,如果不注意可能不会发现它不是真正的系统启动文件。
在system.ini文件中,在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”,如果不是“explorer.exe”,而是“shell= explorer.exe 程序名”,那幺后面跟着的那个程序就是“木马”程序,就是说你已经中“木马”了。
在注册表中的情况最复杂,通过regedit命令打开注册表编辑器,在点击至:“HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRun”目录下,查看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE。
这里切记:有的“木马”程序生成的文件很像系统自身文件,想通过伪装蒙混过关,如“Acid Battery v1.0木马”,它将注册表“HKEY-LOCAL-MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun”下的Explorer 键值改为Explorer=“C:Windowsexpiorer.exe”,“木马”程序与真正的Explorer之间只有“i”与“l”的差别。
当然在注册表中还有很多地方都可以隐藏“木马”程序,如:“HKEY-CURRENT-USERSoftwareMicrosoftWindowsCurrentVersionRun”、“HKEY-USERS****SoftwareMicrosoftWindowsCurrentVersionRun”的目录下都有可能,最好的办法就是在“HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRun”下找到“木马该病毒也称为“Code Red II(红色代码2)”病毒,与早先在西方英文系统下流行“红色代码”病毒有点相反,在国际上被称为VirtualRoot(虚拟目录)病毒。该蠕虫病毒利用Microsoft已知的溢出漏洞,通过80端口来传播到其它的Web页服务器上。受感染的机器可由黑客们通过Http Get的请求运行 s/root.exe来获得对受感染机器的完全控制权。
当感染一台服务器成功了以后,如果受感染的机器是中文的系统后,该程序会休眠2天,别的机器休眠1天。当休眠的时间到了以后,该蠕虫程序会使得机器重新启动。该蠕虫也会检查机器的月份是否是10月或者年份是否是2002年,如果是,受感染的服务器也会重新启动。
当Windows NT系统启动时,NT系统会自动搜索C盘根目录下的文件explorer.exe,受该网络蠕虫程序感染的服务器上的文件explorer.exe也就是该网络蠕虫程序本身。该文件的大小是8192字节,VirtualRoot网络蠕虫程序就是通过该程序来执行的。同时,VirtualRoot网络蠕虫程序还将cmd.exe的文件从Windows NT的system目录拷贝到别的目录,给黑客的入侵敞开了大门。
它还会修改系统的注册表项目,通过该注册表项目的修改,该蠕虫程序可以建立虚拟的目录C或者D,病毒名由此而来。值得一提的是,该网络蠕虫程序除了文件explorer.exe外,其余的操作不是基于文件的,而是直接在内存中来进行感染、传播的,这就给捕捉带来了较大难度。
程序的文件名,再在整个注册表中搜索即可。
我们先看看微软是怎样描述svchost.exe的。在微软知识库314056中对svchost.exe有如下描述:svchost.exe 是从动态链接库 (DLL) 中运行的服务的通用主机进程名称。
其实svchost.exe是Windows XP系统的一个核心进程。svchost.exe不单单只出现在Windows XP中,在使用NT内核的Windows系统中都会有svchost.exe的存在。一般在Windows 2000中svchost.exe进程的数目为2个,而在Windows XP中svchost.exe进程的数目就上升到了4个及4个以上。所以看到系统的进程列表中有几个svchost.exe不用那幺担心。
七、
svchost.exe
造成
CPU
使用率占用
100%(
二)
svchost.exe
到底是做什么用的呢
?
首先我们要了解一点那就是Windows系统的中的进程分为:独立进程和共享进程这两种。由于Windows系统中的服务越来越多,为了节约有限的系统资源微软把很多的系统服务做成了共享模式。那svchost.exe在这中间是担任怎样一个角色呢?
svchost.exe的工作就是作为这些服务的宿主,即由svchost.exe来启动这些服务。svchost.exe只是负责为这些服务提供启动的条件,其自身并不能实现任何服务的功能,也不能为用户提供任何服务。svchost.exe通过为这些系统服务调用动态链接库(DLL)的方式来启动系统服务。
svchost.exe是病毒这种说法是任何产生的呢?
因为svchost.exe可以作为服务的宿主来启动服务,所以病毒、木马的编写者也挖空心思的要利用svchost.exe的这个特性来迷惑用户达到入侵、破坏计算机的目的。
如何才能辨别哪些是正常的svchost.exe进程,而哪些是病毒进程呢?
svchost.exe的键值是在“HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionSvchost”,每个键值表示一个独立的svchost.exe组。
微软还为我们提供了一种察看系统正在运行在svchost.exe列表中的服务的方法。以Windows XP为例:在“运行”中输入:cmd,然后在命令行模式中输入:tasklist /svc。系统列出如图2所示的服务列表。图2中红框包围起来的区域就是svchost.exe启动的服务列表。如果使用的是Windows 2000系统则把前面的“tasklist /svc”命令替换为:“tlist -s”即可。如果你怀疑计算机有可能被病毒感染,svchost.exe的服务出现异常的话通过搜索svchost.exe文件就可以发现异常情况。一般只会找到一个在:“C:WindowsSystem32”目录下的svchost.exe程序。如果你在其它目录下发现svchost.exe程序的话,那很可能就是中毒了。
还有一种确认svchost.exe是否中毒的方法是在任务管理器中察看进程的执行路径。但是由于在Windows系统自带的任务管理器不能察看进程路径,所以要使用第三方的进程察看工具。
上面简单的介绍了svchost.exe进程的相关情况。总而言之,svchost.exe是一个系统的核心进程,并不是病毒进程。但由于svchost.exe进程的特殊性,所以病毒也会千方百计的入侵svchost.exe。通过察看svchost.exe进程的执行路径可以确认是否中毒。
八、
Services.exe
造成
CPU
使用率占用
100%
症状
在基于 Windows 2000 的计算机上,Services.exe 中的 CPU 使用率可能间歇性地达到100 %,并且计算机可能停止响应(挂起)。出现此问题时,连接到该计算机(如果它是文件服务器或域控制器)的用户会被断开连接。您可能还需要重新启动计算机。如果 Esent.dll 错误地处理将文件刷新到磁盘的方式,则会出现此症状。
解决方案
Service Pack 信息
要解决此问题,请获取最新的 Microsoft Windows 2000 Service Pack。有关其它信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
260910 如何获取最新的 Windows 2000 Service Pack
修复程序信息
要立即解决此问题,请与“Microsoft 产品支持服务”联系,以获取此修补程序。有关“Microsoft 产品支持服务”电话号码和支持费用信息的完整列表,请访问 Microsoft Web 站点:
注意 :特殊情况下,如果 Microsoft 支持专业人员确定某个特定的更新程序能够解决您的问题,可免收通常情况下收取的电话支持服务费用。对于特定更新程序无法解决的其它支持问题和事项,将正常收取支持费用。
下表列出了此修补程序的全球版本的文件属性(或更新的属性)。这些文件的日期和时间按协调通用时间 (UTC) 列出。查看文件信息时,它将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用“控制面板”中的“日期和时间”工具中的 时区 选项卡。
状态
Microsoft 已经确认这是在本文开头列出的 Microsoft 产品中存在的问题。此问题最初是在 Microsoft Windows 2000 Service Pack 4 中更正的。
九、
explorer.exe
进程造成
CPU
使用率占用
100%
。
explorer.exe
进程造成
CPU
使用率占用
100%
在system.ini文件中,在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”,如果不是“explorer.exe”,而是“shell= explorer.exe 程序名”,那幺后面跟着的那个程序就是“木马”程序,就是说你已经中“木马”了。
在注册表中的情况最复杂,通过regedit命令打开注册表编辑器,在点击至:“HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRun”目录下,查看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE,这里切记:有的“木马”程序生成的文件很像系统自身文件,想通过伪装蒙混过关,如“Acid Battery v1.0木马”,它将注册表“HKEY-LOCAL-MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun”下的
Explorer 键值改为Explorer=“C:Windowsexpiorer.exe”,“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序,如:“HKEY-CURRENT-USERSoftwareMicrosoftWindowsCurrentVersionRun”、“HKEY-USERS****SoftwareMicrosoftWindowsCurrentVersionRun”的目录下都有可能,最好的办法就是在“HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRun”下找到“木马”程序的文件名,再在整个注册表中搜索即可。
十、
CPU
资源占用
100
%:超线程,看视频,大文件
……
超线程导致
CPU
使用率占用
100%
这类故障的共同原因就是都使用了具有超线程功能的P4 CPU。我查找了一些资料都没有明确的原因解释。据一些网友总结超线程似乎和天网防火墙有冲突,可以通过卸载天网并安装其它防火墙解决,也可以通过在BIOS中关闭超线程功能解决。
AVI
视频文件造成
CPU
使用率占用
100%
在Windows XP中,单击一个较大的AVI视频文件后,可能会出现系统假死现象,并且造成exploere.exe进程的使用率100%,这是因为系统要先扫描该文件,并检查文件所有部分,建立索引。如果文件较大就会需要较长时间并造成CPU占用率100%。解决方法:右键单击保存视频文件的文件夹,选择”属性—>常规—>高级“,去掉”为了快速搜索,允许索引服务编制该文件夹的索引“前面复选框的对钩即可。
处理较大的
Word
文件时
CPU
使用率过高
上述问题一般还会造成电脑假死,这些都是因为WORD的拼写和语法检查造成的,只要打开WORD的“工具—选项”,进入“拼写和语法”选项卡,将其中的“键入时检查拼写”和“键入时检查语法”两项前面的复选框中的钩去掉即可。
正常软件造成
CPU
使用率占用
100%
首先,如果是从开机后就发生上述情况直到关机。那幺就有可能是由某个随系统同时登陆的软件造成的。可以通过运行输入“msconfig”打开“系统实用配置工具”,进入“启动”选项卡。接着,依次取消可疑选项前面的对钩,然后重新启动电脑。反复测试直到找到造成故障的软件。或者可以通过一些优化软件如“优化大师”达到上述目的。另:如果键盘内按键卡住也可能造成开机就出现上述问题。
如果是使用电脑途中出项这类问题,可以调出任务管理器(WINXP CTRL+ALT+DEL WIN2000 CTRL+SHIFT“ESC),进入”进程“选项卡,看”CPU“栏,从里面找到占用资源较高的程序(其中SYSTEM IDLE PROCESS是属于正常,它的值一般都很高,它的作用是告诉当前你可用的CPU资源是多少,所以它的值越高越好)通过搜索功能找到这个进程属于哪个软件。然后,可以通过升级、关闭、卸载这个软件或者干脆找个同类软件替换,问题即可得到解决。