查看單個文章
舊 2006-03-07, 05:13 PM   #10 (permalink)
psac
榮譽會員
 
psac 的頭像
榮譽勳章
UID - 3662
在線等級: 級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時級別:30 | 在線時長:1048小時 | 升級還需:37小時
註冊日期: 2002-12-07
住址: 木柵市立動物園
文章: 17381
現金: 5253 金幣
資產: 33853 金幣
預設

解決CPU資源佔用100%8大方法!(全)

相信你的一定遇到過電腦動彈不得的時候,或許是只能眼看滑鼠滑動而不能進行任何操作的時候,很多人都會經常遇到這樣的問題:CPU佔用率100%改如何解決,本文將從多個角度給你全方面的解析,希望閱讀完本文希望在今後你遇到問題的時候能夠帶給你一些說明 。

CPU經常性佔用率100%,你說煩不煩
1、驅動沒有經過認證,造成CPU資源佔用100%。大量的測試版的驅動在網上氾濫,造成了難以發現的故障原因。

2、殺毒軟體CPU使用率佔用100%
  現在的殺毒軟體一般都加入了,對網頁、郵件、個人隱私的即時監空功能,這樣無疑會加大系統的負擔。比如:在玩遊戲的時候,會非常緩慢。關閉該殺毒軟體是解決得最直接辦法。

3、病毒、木馬造成。
出現CPU佔用率100% 的故障經常是因為病毒木馬造成的,比如震盪波病毒。應該首先更新病毒庫,對電腦進行全機掃瞄 。接著,在使用反間諜軟體Ad—Aware,檢查是否存在間諜軟體。論壇上有不少朋友都遇到過svchost.exe佔用CPU100%,這個往往是中毒的表現。

間諜廣告殺手Ad-aware
  svchost.exe Windows中的系統服務是以動態連接庫(DLL)的形式實現的,其中一些會把可執行程序指向svchost.exe,由它使用相應服務的動態連接庫並加上相應參數來啟動服務。正是因為它的特殊性和重要性,使它更容易成為了一些病毒木馬的宿主。
大量的蠕蟲病毒在系統內部迅速複製,造成CPU佔用資源率據高不下。解決辦法:使用最新的殺毒軟體在DOS模式下進行殺毒。經常性更新昇級殺毒軟體和防火牆,加強防毒意識,掌握正確的防殺毒知識。

4、開始->執行->msconfig->啟動,關閉不必要的啟動項,重啟。
  
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個以上。
如何才能辨別哪些是正常的Svchost.exe工作,而哪些是病毒工作呢?
  Svchost.exe的鍵值是在「HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost」,每個鍵值表示一個獨立的Svchost.exe組。
微軟還為我們提供了一種察看系統正在執行在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、把網路卡、顯示卡、音效卡卸載,然後重新安裝一下驅動。
8、重裝系統、常用軟體、當然也要裝驅動。用幾天看一下,若不會出現這種問題,再裝上其他軟體,但是最好是一個軟體裝完,先用幾天。現會出現問題再接著裝!

特徵:伺服器正常CPU消耗應該在75%以下,而且CPU消耗應該是上下起伏的,出現這種問題的伺服器,CPU會突然一直處100%的水準,而且不會下降。檢視工作管理器,可以發現是DLLHOST.EXE消耗了所有的CPU空閒時間,

dllhost工作
管理員在這種情況下,只好重新啟動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的每種系統都有相應的開啟方法,但能夠顯示的能力卻因(系統)不同,有所差異:

Windows工作管理器下的工作列表

  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」,由用戶另外開啟的程序則用戶名為現用的系統登入用戶名。

經工作發現病毒

  在介紹具體的查毒和殺毒前,筆者先回答開篇提出的兩個問題。為什ど殺毒軟體並不能全面的搜尋和殺掉病毒?

首先,病毒防火牆是通過對程序進行反彙編,然後與自己的病毒庫進行對比來搜尋病毒,如果病毒較新,而殺毒軟體又未能及時昇級便不能識別病毒。

電腦蠕蟲病毒襲擊多台電腦
其次,殺毒軟體在發現病毒後,如果是獨立的可執行病毒程序,會選項直接移除的處理方式,而病毒如果被當作工作執行了,殺毒軟體就無能為力了,因為它沒有功能和權限先停止掉系統的這些工作,被當作工作執行的程式是不能被移除的(這也是大家在移除一個程序時,提示該程序正在被使用不能移除的原因)。所以在使用殺毒軟體殺毒時,才會有殺毒完成後,又出現病毒提示的原因。   

回到原來話題上!通過工作如何發現和殺掉病毒呢?

由前面的知識介紹可知,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文件,如果不注意可能不會發現它不是真正的系統啟動檔案。

  在system.ini文件中,在[BOOT]下面有個「shell=檔案名」。正確的檔案名應該是「explorer.exe」,如果不是「explorer.exe」,而是「shell= explorer.exe 程式名稱」,那ど後面跟著的那個程序就是「木馬」程序,就是說你已經中「木馬」了。

  在註冊表中的情況最複雜,通過regedit指令開啟註冊表編輯器,在點擊至:「HKEY-LOCAL-MACHINE\Software\Microsoft\Windows\CurrentVersion\Run」目錄下,檢視鍵值中有沒有自己不熟悉的自動啟動檔案,副檔名為EXE。
__________________
http://bbsimg.qianlong.com/upload/01/08/29/68/1082968_1136014649812.gif
psac 目前離線  
送花文章: 3, 收花文章: 1631 篇, 收花: 3205 次