- 註冊時間
- 2006-2-9
- 最後登錄
- 2019-10-8
- 主題
- 查看
- 積分
- 4865
- 閱讀權限
- 250
- 文章
- 846
- 相冊
- 0
- 日誌
- 8
狀態︰
離線
|
我們在使用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不單單只出現在Windows 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_MACHINE\SYSTEM\CurrentControlSet\Services\lanmanserver ]分支,在右側視窗中新建一個名為“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%案例分析
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來獲得對受感染機器的完全控制權。
當感染一台伺服器成功了以後,如果受感染的機器是中文的系統後,該程式會休眠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_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\Svchost”,如圖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:\Windows\System32”目錄下的svchost.exe程式。如果你在其他目錄下發現svchost.exe程式的話,那很可能就是中毒了。
還有一種確認svchost.exe是否中毒的方法是在任務管理器中察看進程的執行路徑。但是由於在Windows系統自帶的任務管理器不能察看進程路徑,所以要使用第三方的進程察看工具。
上面簡單的介紹了svchost.exe進程的相關情況。總而言之,svchost.exe是一個系統的核心進程,並不是病毒進程。但由於svchost.exe進程的特殊性,所以病毒也會千方百計的入侵svchost.exe。通過察看svchost.exe進程的執行路徑可以確認是否中毒。
《 本帖最後由 紅塵孤鳥 於 2009-4-25 18:42 編輯 》 |
|