相信你的一定遇到過電腦動彈不得的時候,或許是隻能眼看鼠標滑動而不能進行任何操作的時候,很多人都會經常遇到這樣的問題:CPU占用率100%改如何解決,本文將從多個角度給你全方麵的解析,希望閱讀完本文希望在今後你遇到問題的時候能夠帶給你一些幫助。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 1、驅動沒有經過認證,造成CPU資源占用100%。 大量的測試版的驅動在網上泛濫,造成了難以發現的故障原因。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 2、殺毒軟件CPU使用率占用100% 現在的殺毒軟件一般都加入了,對網頁、郵件、個人隱私的即時監空功能,這樣無疑會加大係統的負擔。比如:在玩遊戲的時候,會非常緩慢。關閉該殺毒軟件是解決得最直接辦法。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 3、病毒、木馬造成。 出現CPU占用率100% 的故障經常是因為病毒木馬造成的,比如震蕩波病毒。應該首先更新病毒庫,對電腦進行全機掃描 。接著,在使用反間諜軟件Ad—Aware,檢查是否存在間諜軟件。論壇上有不少朋友都遇到過svchost.exe占用CPU100%,這個往往是中毒的表現。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> svchost.exe Windows中的係統服務是以動態鏈接庫(DLL)的形式實現的,其中一些會把可執行程序指向svchost.exe,由它調用相應服務的動態鏈接庫並加上相應參數來啟動服務。正是因為它的特殊性和重要性,使它更容易成為了一些病毒木馬的宿主。 大量的蠕蟲病毒在係統內部迅速複製,造成CPU占用資源率據高不下。解決辦法:使用最新的殺毒軟件在DOS模式下進行殺毒。經常性更新升級殺毒軟件和防火牆,加強防毒意識,掌握正確的防殺毒知識。 4、開始->運行->msconfig->啟動,關閉不必要的啟動項 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 5、網絡連接導致CPU使用率占用100% 查看網絡連接。主要是網卡。當你的Windows2000/xp作為服務器時,收到來自端口445上的連接請求後,係統將分配內存和少量CPU資源來為這些連接提供服務,當負荷過重,就會出現上述情況。要解決這個問題可以通過修改注冊表來解決,打開注冊表,找到HKEY—LOCAL—MACHNE\SYSTEM\CurrentControlSet\Services\lanmanserver,在右麵新建一個名為";maxworkitems";的DWORD值.然後雙擊該值,如果你的電腦有512以上內存,就設置為";1024";,如果小於512,就設置為256. 6、查看“svchost”進程 Svchost.exe是Windows XP係統的一個核心進程。Svchost.exe不單單隻出現在Windows XP中,在使用NT內核的Windows係統中都會有Svchost.exe的存在。一般在Windows 2000中Svchost.exe進程的數目為2個,而在Windows XP中Svchost.exe進程的數目就上升到了4個及4個以上。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 如何才能辨別哪些是正常的Svchost.exe進程,而哪些是病毒進程呢? Svchost.exe的鍵值是在“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost”,每個鍵值表示一個獨立的Svchost.exe組。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 微軟還為我們提供了一種察看係統正在運行在Svchost.exe列表中的服務的方法。以Windows XP為例:在“運行”中輸入:cmd,然後在命令行模式中輸入:tasklist /svc。係統列出服務列表。如果使用的是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進程的執行路徑可以確認是否中毒。 7、把網卡、顯卡、聲卡卸載,然後重新安裝一下驅動。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 8、重裝係統、常用軟件、當然也要裝驅動。 用幾天看一下,若不會出現這種問題,再裝上其他軟件,但是最好是一個軟件裝完,先用幾天。出現問題再接著裝! 特征:服務器正常CPU消耗應該在75%以下,而且CPU消耗應該是上下起伏的,出現這種問題的服務器,CPU會突然一直處100%的水平,而且不會下降。查看任務管理器,可以發現是DLLHOST.EXE消耗了所有的CPU空閑時間, screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 管理員在這種情況下,隻好重新啟動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修複它,問題就解決了。 要通過進程列表查看係統是否染毒,必須打開當前的執行程序進程列表,Microsoft的每種係統都有相應的打開方法,但能夠顯示的能力卻因(係統)不同,有所差異: screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 1.Windows 98 /Me係統 打開係統進程的方式很簡單,快捷鍵“Ctrl+Alt+Delete”(如圖1),這個窗口大家應該比較熟悉,使用Windows係統的用戶都知道用這個方法來關閉程序,不過它同樣用於顯示係統進程,隻是Windows 98係統較初級,對進程的顯示局限於名稱,且裏麵所顯示的還有打開的文件及目錄名,查看時易混淆。Windows Me的進程打開方式和Windows 98相同。 Windows 9X係統打開的進程列表混亂且不完全,顯然不便於查看係統的具體進程狀況,所以建議使用一些工具程序來為Windows 9x係統顯示進程,如“Windows優化大師”,在“優化大師”的“係統安全優化”項內打開“進程管理”,在圖2所示的“Windows 進程管理”窗口內,可以詳細查看當前計算機所運行的所有進程,及具體程序所在的位置,這樣更方便完成後麵要介紹的如何利用進程進行查毒、殺毒。 2.Windows 2000/ XP/2003係統 Windows 2000、Windows XP、Windows 2003打開進程窗口的方式與Windows 9x係統相同,隻是三鍵後打開的是“Windows 任務管理器”窗口,需要選擇裏麵的“進程”項。Windows 2000係統隻顯示具體進程的全名,占用的內存量;Windows XP、Windows 2003係統相比Windows 2000會顯示該進程歸屬於那個用戶下,如操作係統所必須的基礎程序,會在後麵的“用戶名”內顯示為“SYSTEM”,由用戶另外開啟的程序則用戶名為當前的係統登錄用戶名。 經進程發現病毒 在介紹具體的查毒和殺毒前,筆者先回答開篇提出的兩個問題。為什幺殺毒軟件並不能全麵的查找和殺掉病毒? 首先,病毒防火牆是通過對程序進行反匯編,然後與自己的病毒庫進行對比來查找病毒,如果病毒較新,而殺毒軟件又未能及時升級便不能識別病毒。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 其次,殺毒軟件在發現病毒後,如果是獨立的可執行病毒程序,會選擇直接刪除的處理方式,而病毒如果被當作進程執行了,殺毒軟件就無能為力了,因為它沒有功能和權限先停止掉係統的這些進程,被當作進程執行的程序是不能被刪除的(這也是大家在刪除一個程序時,提示該程序正在被使用不能刪除的原因)。所以在使用殺毒軟件殺毒時,才會有殺毒完成後,又出現病毒提示的原因。 回到原來話題上! 通過進程如何發現和殺掉病毒呢? 由前麵的知識介紹可知,Windows 9X和Windows 2000係統隻能顯示進程的名稱,這對判斷該進程是否是病毒還不夠,如果要準確的斷定病毒,最好使用前麵介紹的“Windows優化大師”來查看進程程序的源路徑。 如果是“C:\Windows\system”下的一些未知的“EXE”那便極有病毒的可能性了。Windows XP和Windows 2003係統,進程後會有“用戶名”的顯示,病毒是不可能獲得“SYSTEM”權限的,所以應注意“用戶名”是當前登錄用戶的進程,一旦發現是病毒,可以立即“殺掉”。這裏介紹兩個技巧: 1.發現可疑進程後,利用Windows的查找功能,查找該進程所在的具體路徑,通過路徑可以知道該進程是否合法,譬如由路徑“C:\Program Files\3721\assistse.exe”知道該程序是3721的進程,是合法的。 2.在對進程是否病毒拿不定主意時,可以複製該進程的全名,如:“xxx.exe”到googl.com或baidu.com這樣的全球搜查引擎上進行搜查,如果是病毒會有相關的介紹網頁。 確定了該進程是病毒,首先應該殺掉該進程,對於Windows 9x係統,選中該進程後,點擊下麵的“結束任務”按鈕,Windows 2000、Windows XP、Windows 2003係統則在進程上單擊右鍵在彈出菜單上選擇“結束任務”。“殺掉”進程後找到該進程的路徑刪除掉即可,完成後最好在進行一次殺毒,這樣就萬無一失了。 在win.ini文件中,在[Windows]下麵,“run=”和“load=”是可能加載“木馬”程序的途徑,必須仔細留心它們。一般情況下,它們的等號後麵什幺都沒有,如果發現後麵跟有路徑與文件名不是你熟悉的啟動文件,你的計算機就可能中上“木馬”了。當然你也得看清楚,因為好多“木馬”,如“AOL Trojan木馬”,它把自身偽裝成command.exe文件,如果不注意可能不會發現它不是真正的係統啟動文件。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 在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的請求運行s/root.exe來獲得對受感染機器的完全控製權。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 當感染一台服務器成功了以後,如果受感染的機器是中文的係統後,該程序會休眠2天,別的機器休眠1天。當休眠的時間到了以後,該蠕蟲程序會使得機器重新啟動。該蠕蟲也會檢查機器的月份是否是10月或者年份是否是2002年,如果是,受感染的服務器也會重新啟動。 當Windows NT係統啟動時,NT係統會自動搜索C盤根目錄下的文件explorer.exe,受該網絡蠕蟲程序感染的服務器上的文件explorer.exe也就是該網絡蠕蟲程序本身。該文件的大小是8192字節,VirtualRoot網絡蠕蟲程序就是通過該程序來執行的。同時,VirtualRoot網絡蠕蟲程序還將cmd.exe的文件從Windows NT的system目錄拷貝到別的目錄,給黑客的入侵敞開了大門。 它還會修改係統的注冊表項目,通過該注冊表項目的修改,該蠕蟲程序可以建立虛擬的目錄C或者D,病毒名由此而來。值得一提的是,該網絡蠕蟲程序除了文件explorer.exe外,其餘的操作不是基於文件的,而是直接在內存中來進行感染、傳播的,這就給捕捉帶來了較大難度。 程序的文件名,再在整個注冊表中搜索即可。 我們先看看微軟是怎樣描述svchost.exe的。在微軟知識庫314056中對svchost.exe有如下描述:svchost.exe 是從動態鏈接庫 (DLL) 中運行的服務的通用主機進程名稱。 其實svchost.exe是Windows XP係統的一個核心進程。svchost.exe不單單隻出現在Windows XP中,在使用NT內核的Windows係統中都會有svchost.exe的存在。一般在Windows 2000中svchost.exe進程的數目為2個,而在Windows XP中svchost.exe進程的數目就上升到了4個及4個以上。所以看到係統的進程列表中有幾個svchost.exe不用那幺擔心。 svchost.exe到底是做什麽用的呢? 首先我們要了解一點那就是Windows係統的中的進程分為:獨立進程和共享進程這兩種。由於Windows係統中的服務越來越多,為了節約有限的係統資源微軟把很多的係統服務做成了共享模式。那svchost.exe在這中間是擔任怎樣一個角色呢? svchost.exe的工作就是作為這些服務的宿主,即由svchost.exe來啟動這些服務。svchost.exe隻是負責為這些服務提供啟動的條件,其自身並不能實現任何服務的功能,也不能為用戶提供任何服務。svchost.exe通過為這些係統服務調用動態鏈接庫(DLL)的方式來啟動係統服務。 svchost.exe是病毒這種說法是任何產生的呢? 因為svchost.exe可以作為服務的宿主來啟動服務,所以病毒、木馬的編寫者也挖空心思的要利用svchost.exe的這個特性來迷惑用戶達到入侵、破壞計算機的目的。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 如何才能辨別哪些是正常的svchost.exe進程,而哪些是病毒進程呢? svchost.exe的鍵值是在“HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost”,每個鍵值表示一個獨立的svchost.exe組。 screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 微軟還為我們提供了一種察看係統正在運行在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進程的執行路徑可以確認是否中毒。 症狀 在基於 Windows 2000 的計算機上,Services.exe 中的 CPU 使用率可能間歇性地達到100 %,並且計算機可能停止響應(掛起)。出現此問題時,連接到該計算機(如果它是文件服務器或域控製器)的用戶會被斷開連接。您可能還需要重新啟動計算機。如果 Esent.dll 錯誤地處理將文件刷新到磁盤的方式,則會出現此症狀。 解決方案 Service Pack 信息 要解決此問題,請獲取最新的 Microsoft Windows 2000 Service Pack。有關其它信息,請單擊下麵的文章編號,以查看 Microsoft 知識庫中相應的文章: 260910 如何獲取最新的 Windows 2000 Service Pack screen.width*0.7) {this.resized=true; this.width=screen.width*0.7; this.alt='Click here to open new window\nCTRL+Mouse wheel to zoom in/out';}
}" border="0" /> 修複程序信息 Microsoft 提供了受支持的修補程序,但該程序隻是為了解決本文所檣艿奈侍狻V揮屑撲慊,重啟。 |
全方位解析 CPU資源占用100%解決方法
本文內容已被 [ skywalker2010 ] 在 2007-03-27 18:35:54 編輯過。如有問題,請報告版主或論壇管理刪除.