以下是导致服务器CPU占用率100%的六个常见问题及其解决方法。
1.dllhost进程导致CPU占用率达到100%。
特点:服务器正常的CPU消耗应该在75%以下,CPU消耗会有波动。有这个问题的服务器,CPU会突然停留在100%的水平,不会下降。查看任务管理器,
可以发现,DLLHOST.EXE消耗了所有的CPU空闲时间。在这种情况下,管理员必须重新启动IIS服务。奇怪的是,重启IIS服务后一切正常,但过了一会儿,问题又出现了。
直接原因:
一个或多个ACCESS数据库在多次读写过程中被损坏。当微软的MDAC系统写入这个损坏的访问文件时,ASP线程处于阻塞状态。结果其他线程只能等待,IIS被死锁。
所有CPU时间都消耗在DLLHOST中。
解决方案:
安装“一级信息监控拦截系统”,使用“首席文档督察IIS健康督察”软件。
启用“查找死锁模块”并设置:
--wblock=yes
受监控的目录,请指定您的主机文件所在的目录:
--wblockdir=d:\test
监控生成的日志的文件存储位置在安装目录的log目录下,文件名为logblock.htm。
停止IIS,然后启动首席文档检查器IIS健康检查器,然后启动IIS。首席文档检查员IIS Health Inspector将在logblock.htm中记录最后的书面访问文件。
过了一段时间,问题出来了,比如CPU又会一直处于100%的水平,可以停止IIS,查看logblock.htm记录的最后十个文件。注意,最有问题的文件通常是counter类的访问文件。
比如,“* *计数。MDB”和“* *计数。ASP”,可以先删除回收站中的最后十个文件或可疑文件,然后启动IIS,看看问题是否再次出现。我们相信经过仔细搜索,
我相信你能找到这个困扰你一段时间的文件。
找到这个文件后,可以删除,或者下载后用ACCESS2000修复,问题就解决了。
2.svchost.exe导致CPU占用率100%。
在win.ini文件中,在[Windows]下,“run=”和“load=”是加载木马程序的可能方式,一定要密切关注。一般来说,它们的等号后面没有什么。
如果你发现启动文件后面跟的路径和文件名你不熟悉,你的电脑可能中了木马。当然,你得看清楚,因为很多“木马”,比如“AOL Trojan特洛伊木马”,都是伪装成command.exe文件的。
如果你不注意,你可能不会发现它不是一个真正的系统启动文件。
在system.ini文件中,[BOOT]下有一个“shell=文件名”。正确的文件名应该是“explorer.exe”。如果不是“explorer.exe”,
但是“shell=explorer.exe程序名”,那么后面的程序就是“木马”程序,也就是说你已经中了“木马”了。
It changes the explorer key value in the registry "HKEY- local-machine \ software \ Microsoft \ Windows \ current version \ running" to explorer="c: \ Windows \ expiorer.exe",
当一个服务器被成功感染后,如果被感染的机器是中文系统,程序会休眠2天,其他机器休眠1天。休眠时间到了,蠕虫程序会重启机器。
该蠕虫还会检查机器的月份是10月还是年份是2002年,如果是,被感染的服务器也会重启。当Windows NT系统启动时,NT系统会自动搜索c盘根目录下的文件explorer.exe,
被网络蠕虫程序感染的服务器上的文件explorer.exe也是网络蠕虫程序本身。这个文件的大小是8192字节,VirtualRoot网络蠕虫程序就是通过这个程序执行的。与此同时,
VirtualRoot网络蠕虫程序还会将cmd.exe的文件从Windows NT的系统目录下复制到其他目录下,为黑客入侵打开了方便之门。它还将修改系统的注册表项,并且通过注册表项的修改,
蠕虫程序可以创建一个虚拟目录C或D,病毒名称就是由此而来。值得一提的是,除了文件explorer.exe,这个网络蠕虫程序的其他操作都不是基于文件的,而是直接在内存中感染和传播。
这使得很难捕捉。
让我们先来看看微软是如何描述svchost.exe的。Svchost.exe在Microsoft知识库314056中有如下描述:svchost.exe是从动态链接库(DLL)运行的服务的通用主机进程名。
事实上,svchost.exe是Windows XP系统的一个核心进程。Svchost.exe不仅出现在Windows XP中,也存在于使用NT内核的Windows系统中。
通常,在Windows 2000中,svchost.exe进程的数量是2,而在Windows XP中,svchost.exe进程的数量上升到4或更多。
所以当你在系统的进程列表中看到几个svchost.exe时,不要太担心。
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 _ MACHINE \ Software \ Microsoft \ Windows NT \ current version \ Svchost ",如图一所示。
图1中的每个键值代表一个独立的svchost.exe组。
微软还为我们提供了一种在svchost.exe列表中查看系统正在运行的服务的方式。以Windows XP为例:在运行中输入:cmd,然后在命令行模式下输入:tasklist /svc。
系统列出了如图2所示的服务。图2中红框包围的区域是svchost.exe启动的服务列表。
如果使用的是Windows 2000系统,只需将之前的“tasklist /svc”命令替换为“tlist -s”即可。如果您怀疑计算机可能感染了病毒,
如果svchost.exe的服务出现异常,您可以通过搜索svchost.exe文件来发现异常情况。通常,在目录“C:\Windows\System32”中只能找到一个svchost.exe程序。
如果你发现svchost.exe程序在其他目录,它可能是中毒。
另一种确认svchost.exe是否中毒的方法是查看任务管理器中进程的执行路径。但是由于Windows系统自带的任务管理器无法查看进程路径,所以需要使用第三方进程查看工具。
以上简单介绍了svchost.exe进程的相关情况。总之,svchost.exe是一个系统的核心进程,而不是病毒进程。然而,由于svchost.exe过程的特殊性,
所以病毒也会千方百计的入侵svchost.exe。通过察看svchost.exe进程的执行路径可以确认是否中毒。
3、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 建议您等待包含此修补程序的下一个