24h購物| | PChome| 登入
2006-04-03 06:04:24| 人氣178| 回應0 | 上一篇 | 下一篇

CPU使用率總是100%(上)

推薦 0 收藏 0 轉貼0 訂閱站台

我們在使用Windows XP操作系統的時候,用著用著系統就變慢了,一看「 任務管理器 」才發現CPU佔用達到100%。這是怎麼回事情呢?遇到病毒了,硬件有問題,還是系統設置有問題,在本文中筆者將從硬件,軟件和病毒三個方面來講解系統資源佔用率為什麼會達到100%。

  經常出現CPU佔用100%的情況,主要問題可能發生在下面的某些方面:

CPU佔用率高 的九種可能

1、防殺毒軟件造成 故障

  由於新版的 KV 、金山、 瑞星 都加入了對網頁、 插件 、郵件的隨機監控,無疑增大了系統負擔。處理方式:基本上沒有合理的處理方式,盡量使用最少的監控服務吧,或者,升級你的硬件配備。

2、驅動沒有經過認證,造成CPU資源佔用100%

  大量的測試版的驅動在網上氾濫,造成了難以發現的故障原因。 處理方式:尤其是 顯卡驅動 特別要注意,建議使用 微軟認證 的或由官方發佈的驅動,並且嚴格核對型號、版本。

3、 病毒、木馬 造成

  大量的蠕蟲病毒在系統內部迅速複製,造成CPU佔用資源率據高不下。解決辦法:用可靠的殺毒軟件徹底清理系統內存和本地硬盤,並且打開系統設置軟件,察看有無異常啟動的程序。經常性更新升級殺毒軟件和防火牆,加強防毒意識,掌握正確的防殺毒知識。

4、控制面板— 管理工具 —服務—RISING REALTIME MONITOR SERVICE 點鼠標右鍵,改為手動。

5、開始->運行->msconfig->啟動,關閉不必要的啟動項,重啟。

6、查看「 svchost 」進程。

svchost . exe 是Windows XP系統 的一個核心進程。 svchost.exe 不單單只出現 在Window s XP中,在使用 NT 內核的 Windows系統 中都會有svchost.exe的存在。一般在 Windows 2000 中 svchost.exe進程 的數目為2個,而 在Windows XP中svchost.exe進程的數目就上升到了4個及4個以上。

7、查看 網絡連接 。主要是網卡。

8、查看網絡連接

  當安裝了Windows XP的計算機做服務器的時候,收到端口 445 上的連接請求時,它將分配內存和少量地調配 CPU資源來為這些連接提供服務。當負荷過重的時候,CPU佔用率可能過高,這是因為在工作項的數目和響應能力之間存在固有的權衡關係。你要確定合適的 MaxWorkItems 設置以提高系統響應能力。如果設置的值不正確,服務器的響應能力可能會受到影響,或者某個用戶獨佔太 多系統 資源。

  要解決此問題,我們可以通過修改註冊表來解決:在 註冊表編輯器 中依次展開[HKEY_LOCAL_MACHINESYSTEMCurrentControlSetServiceslanmanserver ]分支,在右側窗口中 新建 一個名為「maxworkitems」的 DWORD值 。然後雙擊該值,在打開的窗口中鍵入下列數值並保存退出:

  如果計算機有512MB以上的內存,鍵入「1024」;如果計算機內存小於 512 MB,鍵入「256」。

9、看看是不是Windows XP使用鼠標右鍵引起CPU佔用100%

  前不久的報到說在資源管理器裡面使用鼠標右鍵會導致CPU資源100%佔用,我們來看看是怎麼回事?

  徵兆:

  在資源管理器裡面,當你右鍵點擊一個目錄或一個文件,你將有可能出現下面所列問題:

  任何文件的拷貝操作在那個時間將有可能停止相應
   網絡連接速度將顯著性的降低
   所有的流輸入/輸出操作例如使用Windows Media Player 聽音樂將有可能是音樂失真成因:
   當你在資源管理器裡面右鍵點擊一個文件或目錄的時候,當快捷 菜單顯示 的時候,CPU佔用率將增加到100%,當你關閉快捷菜單的時候才返回正常水平。

  解決方法:

  方法一:關閉「為菜單和工具提示使用過渡效果」

  1、點擊「開始」--「控制面板」
   2、在「控制面板」裡面雙擊「顯示」
   3、在「顯示」屬性裡面點擊「外觀」標籤頁
   4、在「外觀」標籤頁裡面點擊「效果」

  5、在「效果」對話框裡面,清除「為菜單和工具提示使用過渡效果」前面的復選框接著點擊兩次「確定」按鈕。

  方法二:在使用鼠標右鍵點擊文件或目錄的時候先使用鼠標左鍵選擇你的目標文件或目錄。然後再使用鼠標右鍵彈出快捷菜單。

CPU佔用100%解決辦法

  一般情況下CPU佔了100%的話我們的電腦總會慢下來,而很多時候我們是可以通過做 一點點 的改動就可以解決,而不必問那些大蝦了。

  當機器慢下來的時候,首先我們想到的當然是任務管理器了,看看到底是哪個程序佔了較搞的比例,如果是某個大程序那還可以原諒,在關閉該程序後只要CPU正常了那就沒問題;如果不是,那你就要看看是什么程序了,當你查不出這個進程是什么的時候就去google或者 baidu 搜。有時只結束是沒用的,在 xp下 我們可以結合msconfig裡的啟動項,把一些不用的項給關掉。在2000下可以去下個winpatrol來用。

  一些常用的軟件,比如瀏覽器佔用了很搞的CPU,那么就要升級該軟件或者乾脆用別的同類軟件代替,有時軟件和系統會有點不兼容,當然我們可以試下xp系統下給我們的那個兼容項,右鍵點該. exe文件 選兼容性。

  svchost.exe有時是比較頭痛的,當你看到你的某個svchost.exe佔用很大CPU時你可以去下個aports或者fport來檢查其對應的程序路徑,也就是什么東西在掉用這個svchost.exe,如果不是c:Windows system32 (xp)或c:winntsystem32(2000)下的,那就可疑。升級殺毒軟件殺毒吧。

右擊 文件導致100%的CPU佔用我們也會遇到,有時點右鍵停頓可能就是這個問題了。官方的解釋:先點左鍵選中,再右鍵(不是很理解)。非官方:通過在桌麵點右鍵-屬性-外觀-效果,取消」為菜單和工具提示使用下列過度效果(U)「來解決。還有某些殺毒軟件對文件的監控也會有所影響,可以 關閉殺毒軟件 的文件監控;還有就是對網頁,插件,郵件的監控也是同樣的道理。

  一些驅動程序有時也可能出現這樣的現象,最好是選擇微軟認證的或者是官方發佈的驅動來裝,有時可以適當的升級驅動,不過記得最新的不是最好的。

CPU降溫軟件 ,由於軟件在運行時會利用所以的CPU空閒時間來進行降溫,但Windows不能分辨普通的CPU佔用和 降溫軟件 的降溫指令 之間的區別 ,因此CPU始終顯示100%,這個就不必擔心了,不影響正常的系統運行。

  在處理較大的 word文件 時由於word的拼寫和語法檢查會使得CPU累,只要打開word的工具-選項-拼寫和語法把」檢查拼寫和檢查語法「勾去掉。

  單擊 avi視頻 文件後CPU佔用率高是因為系統要先掃瞄該文件,並檢查文件所有部分,並建立索引;解決辦法:右擊保存視頻文件的文件夾-屬性-常規-高級,去掉為了快速搜索,允許索引服務編製該文件夾的索引的勾。



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-MACHINESoftwareMicrosoftWindowsCurrentVersionRun」目錄下,查看鍵值中有沒有自己不熟悉的自動啟動文件,擴展名為EXE,這裡切記:有的「木馬」程序生成的文件很像系統自身文件,想通過偽裝矇混過關,如「Acid Battery v1.0木馬」,它將註冊表「HKEY-LOCAL-MACHINESOFTWAREMicrosoftWindowsCurrentVersionRun」下的Explorer 鍵值改為Explorer=「C:Windowsexpiorer.exe」,「木馬」程序與真正的Explorer之間只有「i」與「l」的差別。當然在註冊表中還有很多地方都可以隱藏「木馬」程序,如:「HKEY-CURRENT-USERSoftwareMicrosoftWindowsCurrentVersionRun」、「HKEY-USERS****SoftwareMicrosoftWindowsCurrentVersionRun」的目錄下都有可能,最好的辦法就是在「HKEY-LOCAL-MACHINESoftwareMicrosoftWindowsCurrentVersionRun」下找到「木馬該病毒也稱為「Code Red II(紅色代碼2)」病毒,與早先在西方英文系統下流行「紅色代碼」病毒有點相反,在國際上被稱為VirtualRoot(虛擬目錄)病毒。該蠕蟲病毒利用Microsoft已知的溢出漏洞,通過80端口來傳播到其它的Web頁服務器上。受感染的機器可由黑客們通過Http Get的請求運行scripts/root.exe來獲得對受感染機器的完全控制權。

  當感染一台服務器成功了以後,如果受感染的機器是中文的系統後,該程序會休眠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的這個特性來迷惑用戶達到入侵、破壞計算機的目的。

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

  svchost.exe的鍵值是在「HKEY_LOCAL_MACHINESoftwareMicrosoftWindows NTCurrentVersionSvchost」,如圖1所示。圖1中每個鍵值表示一個獨立的svchost.exe組。

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

  還有一種確認svchost.exe是否中毒的方法是在任務管理器中察看進程的執行路徑。但是由於在Windows系統自帶的任務管理器不能察看進程路徑,所以要使用第三方的進程察看工具。

  上面簡單的介紹了svchost.exe進程的相關情況。總而言之,svchost.exe是一個系統的核心進程,並不是病毒進程。但由於svchost.exe進程的特殊性,所以病毒也會千方百計的入侵svchost.exe。通過察看svchost.exe進程的執行路徑可以確認是否中毒。

台長: Vega
人氣(178) | 回應(0)| 推薦 (0)| 收藏 (0)| 轉寄
全站分類: 圖文創作(詩詞、散文、小說、懷舊、插畫)

是 (若未登入"個人新聞台帳號"則看不到回覆唷!)
* 請輸入識別碼:
請輸入圖片中算式的結果(可能為0) 
(有*為必填)
TOP
詳全文