CPU占用100%案例分析
1、dllhost進程造成CPU使用率占用100%
特征:服務器正常CPU消耗應該在75%以下,而且CPU消耗應該是上下起伏的,出現這種問題的服務器,CPU會突然一直處100%的水平,而且不會下降。查看任務管理器,可以發現是DLLHOST.EXE消耗了所有的CPU空閑時間,管理員在這種情況下,隻好重新啟動IIS服務,奇怪的是,重新啟動IIS服務後一切正常,但可能過了一段時間後,問題又再次出現了。
直接原因:
有一個或多個ACCESS數據庫在多次讀寫過程中損壞,微軟的MDAC係統在寫入這個損壞的ACCESS文件時,ASP線程處於BLOCK狀態,結果其它線程隻能等待,IIS被死鎖了,全部的CPU時間都消耗在DLLHOST中。
解決辦法:
安裝“一流信息監控攔截係統”,使用其中的“首席文件檢查官IIS健康檢查官”軟件,
啟用”查找死鎖模塊”,設置:
--wblock=yes
監控的目錄,請指定您的主機的文件所在目錄:
--wblockdir=d:\test
監控生成的日誌的文件保存位置在安裝目錄的log目錄中,文件名為:logblock.htm
停止IIS,再啟動“首席文件檢查官IIS健康檢查官”,再啟動IIS,“首席文件檢查官IIS健康檢查官”會在logblock.htm中記錄下最後寫入的ACCESS文件的。
過了一段時間後,當問題出來時,例如CPU會再次一直處100%的水平,可以停止IIS,檢查logblock.htm所記錄的最後的十個文件,注意,最有問題的往往是計數器類的ACCESS文件,例如:”**COUNT.MDB”,”**COUNT.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 程序名”,那幺後麵跟著的那個程序就是“木馬”程序,就是說你已經中“木馬”了。
在注冊表中的情況最複雜,通過regedit命令打開注冊表編輯器,在點擊至:“HKEY-LOCAL-MACHINE\Software \Microsoft\Windows\CurrentVersion\Run”目錄下,查看鍵值中有沒有自己不熟悉的自動啟動文件,擴展名為EXE,這裏切記:有的“木馬”程序生成的文件很像係統自身文件,想通過偽裝蒙混過關,如“Acid Battery v1.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”下找到“木馬該病毒也稱為“Code Red II(紅色代碼2)”病毒,與早先在西方英文係統下流行“紅色代碼”病毒有點相反,在國際上被稱為VirtualRoot(虛擬目錄)病毒。該蠕蟲病毒利用Microsoft已知的溢出漏洞,通過80端口來傳播到其它的Web頁服務器上。受感染的機器可由黑客們通過Http Get的請求運行scripts/root.exe來獲得對受感染機器的完全控製權。