|
楼主 |
发表于 2009-1-30 02:56:52
|
显示全部楼层
CPU占用100%案例分析
* O4 J: U9 ]( E0 ~2 e) V
4 \0 t6 W5 b1 P9 U/ l) [1、dllhost进程造成CPU使用率占用100%( t" c% z7 |# f8 {& C/ K
; s& C: G7 B+ c8 i
特征:服务器正常CPU消耗应该在75%以下,而且CPU消耗应该是上下起伏的,出现这种问题的服务器,CPU会突然一直处100%的水平,而且不会下降。查看任务管理器,可以发现是DLLHOST.EXE消耗了所有的CPU空闲时间,管理员在这种情况下,只好重新启动IIS服务,奇怪的是,重新启动IIS服务后一切正常,但可能过了一段时间后,问题又再次出现了。& Z, j& p2 _( j2 \0 ^
& r9 X2 @5 f9 M3 ~; z直接原因:
, q. ?5 F2 c7 E' A- _! D& n$ d5 D7 z8 X+ y# k, ?% W
有一个或多个ACCESS数据库在多次读写过程中损坏,微软的MDAC系统在写入这个损坏的ACCESS文件时,ASP线程处于BLOCK状态,结果其它线程只能等待,IIS被死锁了,全部的CPU时间都消耗在DLLHOST中。
, h* y& Q& U+ l1 P) V4 I& v" \( c$ {
: x( V( g& M7 N* d: A. ]解决办法:
+ V6 w3 }1 u. o4 I" w' G
# s7 y4 y2 T1 c0 R! [5 {0 F安装“一流信息监控拦截系统”,使用其中的“首席文件检查官IIS健康检查官”软件,
5 z0 f9 [1 e/ N2 p* h3 R* u9 D3 A- v* d$ c8 y& C: f
启用”查找死锁模块”,设置:! z0 I+ U% C+ @. K! o9 g
4 n* Y4 }! o5 P% {--wblock=yes& s' j" ^& L$ P5 r' m
" V8 u( H! y. R监控的目录,请指定您的主机的文件所在目录:8 N7 _0 r+ v. M( w3 B5 R
- u0 K' w. }& R0 w5 f. ~7 B' U--wblockdir=d:\test+ k- A3 m5 r% o1 e. E. k8 u. v! i
/ j7 r$ m8 j Z- P5 h
监控生成的日志的文件保存位置在安装目录的log目录中,文件名为:logblock.htm/ o9 }' D+ d0 j( W
6 s4 R' X. O/ u/ C3 W% W
停止IIS,再启动“首席文件检查官IIS健康检查官”,再启动IIS,“首席文件检查官IIS健康检查官”会在logblock.htm中记录下最后写入的ACCESS文件的。: e5 E5 E( I0 Z: n" R0 k. a6 o; n: t
j) e9 o, Z% o! r1 f4 @
过了一段时间后,当问题出来时,例如CPU会再次一直处100%的水平,可以停止IIS,检查logblock.htm所记录的最后的十个文件,注意,最有问题的往往是计数器类的ACCESS文件,例如:”**COUNT.MDB”,”**COUNT.ASP”,可以先把最后十个文件或有所怀疑的文件删除到回收站中,再启动IIS,看看问题是否再次出现。我们相信,经过仔细的查找后,您肯定可以找到这个让您操心了一段时间的文件的。8 Y9 V6 ?) ]6 z! q5 @
$ H- u( E. k7 B4 S& _) N9 p/ Y找到这个文件后,可以删除它,或下载下来,用ACCESS2000修复它,问题就解决了。
3 z7 \+ a, R" O3 ~7 p" \' t& F z R a- i4 I, x8 K) U& y( l& ~
2、svchost.exe造成CPU使用率占用100% E9 S2 X; @2 J7 L( c% ]
1 ?+ V# X1 ]. o# h. _4 l# ?在win.ini文件中,在[Windows]下面,“run=”和“load=”是可能加载“木马”程序的途径,必须仔细留心它们。一般情况下,它们的等号后面什幺都没有,如果发现后面跟有路径与文件名不是你熟悉的启动文件,你的计算机就可能中上“木马”了。当然你也得看清楚,因为好多“木马”,如“AOLTrojan木马”,它把自身伪装成command.exe文件,如果不注意可能不会发现它不是真正的系统启动文件。
8 Y, Z% L8 Q0 ]2 [7 h/ {, N( l+ q9 J
在system.ini文件中,在[BOOT]下面有个“shell=文件名”。正确的文件名应该是“explorer.exe”,如果不是“explorer.exe”,而是“shell=explorer.exe程序名”,那幺后面跟着的那个程序就是“木马”程序,就是说你已经中“木马”了。
+ |0 x3 t" F% u% L. D6 q( p
0 C8 j" [8 U' F4 E% i在注册表中的情况最复杂,通过regedit命令打开注册表编辑器,在点击至:“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”目录下,查看键值中有没有自己不熟悉的自动启动文件,扩展名为EXE,这里切记:有的“木马”程序生成的文件很像系统自身文件,想通过伪装蒙混过关,如“AcidBatteryv1.0木马”,它将注册表“HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”下的Explorer键值改为Explorer=“C:\Windows\expiorer.exe”,“木马”程序与真正的Explorer之间只有“i”与“l”的差别。当然在注册表中还有很多地方都可以隐藏“木马”程序,如:“HKEY-CURRENT-USER\Software\Microsoft\Windows\CurrentVersion\Run”、“HKEY-USERS\****\Software\Microsoft\Windows\CurrentVersion\Run”的目录下都有可能,最好的办法就是在“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”下找到“木马该病毒也称为“CodeRedII(红色代码2)”病毒,与早先在西方英文系统下流行“红色代码”病毒有点相反,在国际上被称为VirtualRoot(虚拟目录)病毒。该蠕虫病毒利用Microsoft已知的溢出漏洞,通过80端口来传播到其它的Web页服务器上。受感染的机器可由黑客们通过HttpGet的请求运行scripts/root.exe来获得对受感染机器的完全控制权。
: v; U7 q, ~% ^# S, d! @! F! k Z) B' A: U$ ~
当感染一台服务器成功了以后,如果受感染的机器是中文的系统后,该程序会休眠2天,别的机器休眠1天。当休眠的时间到了以后,该蠕虫程序会使得机器重新启动。该蠕虫也会检查机器的月份是否是10月或者年份是否是2002年,如果是,受感染的服务器也会重新启动。当WindowsNT系统启动时,NT系统会自动搜索C盘根目录下的文件explorer.exe,受该网络蠕虫程序感染的服务器上的文件explorer.exe也就是该网络蠕虫程序本身。该文件的大小是8192字节,VirtualRoot网络蠕虫程序就是通过该程序来执行的。同时,VirtualRoot网络蠕虫程序还将cmd.exe的文件从WindowsNT的system目录拷贝到别的目录,给黑客的入侵敞开了大门。它还会修改系统的注册表项目,通过该注册表项目的修改,该蠕虫程序可以建立虚拟的目录C或者D,病毒名由此而来。值得一提的是,该网络蠕虫程序除了文件explorer.exe外,其余的操作不是基于文件的,而是直接在内存中来进行感染、传播的,这就给捕捉带来了较大难度。”程序的文件名,再在整个注册表中搜索即可。, d5 j4 n; g0 q9 i6 [1 F
. n5 h+ B6 k" @3 [
3、Services.exe造成CPU使用率占用100%( V! `: y4 Y" t. T$ F. y5 O
4 l5 Y* w% R4 ^; ^0 o$ P
症状
0 m% T; m8 X& l4 c, e* ~/ |8 n7 ~# _* z* |" j
在基于Windows2000的计算机上,Services.exe中的CPU使用率可能间歇性地达到100%,并且计算机可能停止响应(挂起)。出现此问题时,连接到该计算机(如果它是文件服务器或域控制器)的用户会被断开连接。您可能还需要重新启动计算机。如果Esent.dll错误地处理将文件刷新到磁盘的方式,则会出现此症状。5 R9 z0 P6 Z" a7 L/ L4 G j( p
" w3 p4 r5 [8 N, S0 A9 {5 j: ^
解决方案7 L1 u9 c1 S W/ _0 [# ~- F2 f' Y0 ?
" Q# i, S; n' l6 V8 P$ p. H2 K6 {
ServicePack信息3 n0 x9 H. e: ]3 H: T; T
! `0 {5 F. I' Q/ L8 N) z& |+ l1 `$ R6 d
要解决此问题,请获取最新的MicrosoftWindows2000ServicePack。/ R! ?* v# |4 ^ \: T& X+ U
- @/ F3 ?" y/ V' @修复程序信息
0 D* [9 ~$ s! j- _& V0 j' z w
5 J6 t8 Q' V' O. Y( CMicrosoft提供了受支持的修补程序,但该程序只是为了解决本文所介绍的问题。只有计算机遇到本文提到的特定问题时才可应用此修补程序。此修补程序可能还会接受其它一些测试。因此,如果这个问题没有对您造成严重的影响,Microsoft建议您等待包含此修补程序的下一个Windows2000ServicePack。$ L9 H9 V+ r: Z+ R7 Y7 O
4 O8 {3 Z1 F) b要立即解决此问题,请与“Microsoft产品支持服务”联系,以获取此修补程序。有关“Microsoft产品支持服务”电话号码和支持费用信息的完整列表,请访问MicrosoftWeb站点:& l1 u2 {" a! g4 _
: @1 a( F- S: F( Q" z& ?% x注意:特殊情况下,如果Microsoft支持专业人员确定某个特定的更新程序能够解决您的问题,可免收通常情况下收取的电话支持服务费用。对于特定更新程序无法解决的其它支持问题和事项,将正常收取支持费用。
" f/ ` H" U1 I6 l1 P% x. L
8 I( Z6 r; ^8 p9 Q# C1 Q下表列出了此修补程序的全球版本的文件属性(或更新的属性)。这些文件的日期和时间按协调通用时间(UTC)列出。查看文件信息时,它将转换为本地时间。要了解UTC与本地时间之间的时差,请使用“控制面板”中的“日期和时间”工具中的时区选项卡。
0 h: L5 m3 `1 S& m4 v0 y
2 i1 b+ R* U" F4 Z$ O状态" |) J! \( n) f p9 P$ g
; R! r7 p% x% R* B" ?
Microsoft已经确认这是在本文开头列出的Microsoft产品中存在的问题。此问题最初是在MicrosoftWindows2000ServicePack4中更正的。 |
|