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來獲得對受感染機器的完全控制權。 |