學(xué)習(xí)啦 > 學(xué)習(xí)電腦 > 電腦硬件知識 > CPU知識 > CPU占用100%案例分析

CPU占用100%案例分析

時間: 捷鋒774 分享

CPU占用100%案例分析

  CPU為什么會占用百分百呢,下面是學(xué)習(xí)啦小編帶來的關(guān)于 CPU占用100%案例分析的內(nèi)容,歡迎閱讀!

  CPU占用100%案例分析:

  1、dllhost進(jìn)程造成CPU使用率占用100%

  特征:服務(wù)器正常CPU消耗應(yīng)該在75%以下,而且CPU消耗應(yīng)該是上下起伏的,出現(xiàn)這種問題的服務(wù)器,CPU會突然一直處100%的水平,而且不會下降。查看任務(wù)管理器,可以發(fā)現(xiàn)是DLLHOST.EXE消耗了所有的CPU空閑時間,管理員在這種情況下,只好重新啟動IIS服務(wù),奇怪的是,重新啟動IIS服務(wù)后一切正常,但可能過了一段時間后,問題又再次出現(xiàn)了。

  直接原因:

  有一個或多個ACCESS數(shù)據(jù)庫在多次讀寫過程中損壞,微軟的MDAC系統(tǒng)在寫入這個損壞的ACCESS文件時,ASP線程處于BLOCK狀態(tài),結(jié)果其它線程只能等待,IIS被死鎖了,全部的CPU時間都消耗在DLLHOST中。

  解決辦法:

  安裝“一流信息監(jiān)控攔截系統(tǒng)”,使用其中的“首席文件檢查官IIS健康檢查官”軟件,

  啟用”查找死鎖模塊”,設(shè)置:

  --wblock=yes

  監(jiān)控的目錄,請指定您的主機(jī)的文件所在目錄:

  --wblockdir=d:\test

  監(jiān)控生成的日志的文件保存位置在安裝目錄的log目錄中,文件名為:logblock.htm

  停止IIS,再啟動“首席文件檢查官IIS健康檢查官”,再啟動IIS,“首席文件檢查官IIS健康檢查官”會在logblock.htm中記錄下最后寫入的ACCESS文件的。

  過了一段時間后,當(dāng)問題出來時,例如CPU會再次一直處100%的水平,可以停止IIS,檢查logblock.htm所記錄的最后的十個文件,注意,最有問題的往往是計數(shù)器類的ACCESS文件,例如:”**COUNT.MDB”,”**COUNT.ASP”,可以先把最后十個文件或有所懷疑的文件刪除到回收站中,再啟動IIS,看看問題是否再次出現(xiàn)。我們相信,經(jīng)過仔細(xì)的查找后,您肯定可以找到這個讓您操心了一段時間的文件的。

  找到這個文件后,可以刪除它,或下載下來,用ACCESS2000修復(fù)它,問題就解決了。

  2、svchost.exe造成CPU使用率占用100%

  在win.ini文件中,在[Windows]下面,“run=”和“load=”是可能加載“木馬”程序的途徑,必須仔細(xì)留心它們。一般情況下,它們的等號后面什幺都沒有,如果發(fā)現(xiàn)后面跟有路徑與文件名不是你熟悉的啟動文件,你的計算機(jī)就可能中上“木馬”了。當(dāng)然你也得看清楚,因為好多“木馬”,如“AOL Trojan木馬”,它把自身偽裝成command.exe文件,如果不注意可能不會發(fā)現(xiàn)它不是真正的系統(tǒng)啟動文件。

  在system.ini文件中,在[BOOT]下面有個“shell=文件名”。正確的文件名應(yīng)該是“explorer.exe”,如果不是“explorer.exe”,而是“shell= explorer.exe 程序名”,那幺后面跟著的那個程序就是“木馬”程序,就是說你已經(jīng)中“木馬”了。

  在注冊表中的情況最復(fù)雜,通過regedit命令打開注冊表編輯器,在點擊至:“HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run”目錄下,查看鍵值中有沒有自己不熟悉的自動啟動文件,擴(kuò)展名為EXE,這里切記:有的“木馬”程序生成的文件很像系統(tǒng)自身文件,想通過偽裝蒙混過關(guān),如“Acid Battery v1.0木馬”,它將注冊表“HKEY-LOCAL-MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run”下的Explorer 鍵值改為Explorer=“C:\Windows\expiorer.exe”,“木馬”程序與真正的Explorer之間只有“i”與“l”的差別。當(dāng)然在注冊表中還有很多地方都可以隱藏“木馬”程序,如:“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)”病毒,與早先在西方英文系統(tǒng)下流行“紅色代碼”病毒有點相反,在國際上被稱為VirtualRoot(虛擬目錄)病毒。該蠕蟲病毒利用Microsoft已知的溢出漏洞,通過80端口來傳播到其它的Web頁服務(wù)器上。受感染的機(jī)器可由黑客們通過Http Get的請求運(yùn)行scripts/root.exe來獲得對受感染機(jī)器的完全控制權(quán)。

  當(dāng)感染一臺服務(wù)器成功了以后,如果受感染的機(jī)器是中文的系統(tǒng)后,該程序會休眠2天,別的機(jī)器休眠1天。當(dāng)休眠的時間到了以后,該蠕蟲程序會使得機(jī)器重新啟動。該蠕蟲也會檢查機(jī)器的月份是否是10月或者年份是否是2002年,如果是,受感染的服務(wù)器也會重新啟動。當(dāng)Windows NT系統(tǒng)啟動時,NT系統(tǒng)會自動搜索C盤根目錄下的文件explorer.exe,受該網(wǎng)絡(luò)蠕蟲程序感染的服務(wù)器上的文件explorer.exe也就是該網(wǎng)絡(luò)蠕蟲程序本身。該文件的大小是8192字節(jié),VirtualRoot網(wǎng)絡(luò)蠕蟲程序就是通過該程序來執(zhí)行的。同時,VirtualRoot網(wǎng)絡(luò)蠕蟲程序還將cmd.exe的文件從Windows NT的system目錄拷貝到別的目錄,給黑客的入侵敞開了大門。它還會修改系統(tǒng)的注冊表項目,通過該注冊表項目的修改,該蠕蟲程序可以建立虛擬的目錄C或者D,病毒名由此而來。值得一提的是,該網(wǎng)絡(luò)蠕蟲程序除了文件explorer.exe外,其余的操作不是基于文件的,而是直接在內(nèi)存中來進(jìn)行感染、傳播的,這就給捕捉帶來了較大難度。

  ”程序的文件名,再在整個注冊表中搜索即可。

  我們先看看微軟是怎樣描述svchost.exe的。在微軟知識庫314056中對svchost.exe有如下描述:svchost.exe 是從動態(tài)鏈接庫 (DLL) 中運(yùn)行的服務(wù)的通用主機(jī)進(jìn)程名稱。

  其實svchost.exe是Windows XP系統(tǒng)的一個核心進(jìn)程。svchost.exe不單單只出現(xiàn)在Windows XP中,在使用NT內(nèi)核的Windows系統(tǒng)中都會有svchost.exe的存在。一般在Windows 2000中svchost.exe進(jìn)程的數(shù)目為2個,而在Windows XP中svchost.exe進(jìn)程的數(shù)目就上升到了4個及4個以上。所以看到系統(tǒng)的進(jìn)程列表中有幾個svchost.exe不用那幺擔(dān)心。

  svchost.exe到底是做什幺用的呢?

  首先我們要了解一點那就是Windows系統(tǒng)的中的進(jìn)程分為:獨立進(jìn)程和共享進(jìn)程這兩種。由于Windows系統(tǒng)中的服務(wù)越來越多,為了節(jié)約有限的系統(tǒng)資源微軟把很多的系統(tǒng)服務(wù)做成了共享模式。那svchost.exe在這中間是擔(dān)任怎樣一個角色呢?

  svchost.exe的工作就是作為這些服務(wù)的宿主,即由svchost.exe來啟動這些服務(wù)。svchost.exe只是負(fù)責(zé)為這些服務(wù)提供啟動的條件,其自身并不能實現(xiàn)任何服務(wù)的功能,也不能為用戶提供任何服務(wù)。svchost.exe通過為這些系統(tǒng)服務(wù)調(diào)用動態(tài)鏈接庫(DLL)的方式來啟動系統(tǒng)服務(wù)。

  svchost.exe是病毒這種說法是任何產(chǎn)生的呢?

  因為svchost.exe可以作為服務(wù)的宿主來啟動服務(wù),所以病毒、木馬的編寫者也挖空心思的要利用svchost.exe的這個特性來迷惑用戶達(dá)到入侵、破壞計算機(jī)的目的。

  如何才能辨別哪些是正常的svchost.exe進(jìn)程,而哪些是病毒進(jìn)程呢?

  svchost.exe的鍵值是在“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost”,如圖1所示。圖1中每個鍵值表示一個獨立的svchost.exe組。

  微軟還為我們提供了一種察看系統(tǒng)正在運(yùn)行在svchost.exe列表中的服務(wù)的方法。以Windows XP為例:在“運(yùn)行”中輸入:cmd,然后在命令行模式中輸入:tasklist /svc。系統(tǒng)列出如圖2所示的服務(wù)列表。圖2中紅框包圍起來的區(qū)域就是svchost.exe啟動的服務(wù)列表。如果使用的是Windows 2000系統(tǒng)則把前面的“tasklist /svc”命令替換為:“tlist -s”即可。如果你懷疑計算機(jī)有可能被病毒感染,svchost.exe的服務(wù)出現(xiàn)異常的話通過搜索svchost.exe文件就可以發(fā)現(xiàn)異常情況。一般只會找到一個在:“C:\Windows\System32”目錄下的svchost.exe程序。如果你在其它目錄下發(fā)現(xiàn)svchost.exe程序的話,那很可能就是中毒了。

  還有一種確認(rèn)svchost.exe是否中毒的方法是在任務(wù)管理器中察看進(jìn)程的執(zhí)行路徑。但是由于在Windows系統(tǒng)自帶的任務(wù)管理器不能察看進(jìn)程路徑,所以要使用第三方的進(jìn)程察看工具。

  上面簡單的介紹了svchost.exe進(jìn)程的相關(guān)情況??偠灾瑂vchost.exe是一個系統(tǒng)的核心進(jìn)程,并不是病毒進(jìn)程。但由于svchost.exe進(jìn)程的特殊性,所以病毒也會千方百計的入侵svchost.exe。通過察看svchost.exe進(jìn)程的執(zhí)行路徑可以確認(rèn)是否中毒。

602680