CPU利用率過高的原因

QYT_ak發表於2022-03-10

租用的伺服器在使用作業系統的時候,用著用著系統就變慢了,開啟“ 工作管理員 ”一看,才發現CPU使用率達到80%以上。這是怎麼回事情呢?

遇到病毒了嗎?硬體有問題?還是系統設定有問題呢?從硬體,系統程式來介紹CPU資源使用率為什麼會達到那麼高,以幫助大家排除伺服器CPU使用率高的種種疑惑。

一、硬體因素

以下分別從CPU溫度,CPU超執行緒,硬體配置,硬體驅動和待機方面分析。

1、CPU溫度過高

如果CPU風扇散熱不好,會導致CPU溫度太高,使CPU自動降頻,從而使CPU的效能降低。總之高溫時CPU會自動將降低工作效率。

2、超執行緒

超執行緒導致CPU使用率佔用高,這類故障的共同原因就是都使用了具有超執行緒功能的P4 CPU。據一些網友總結超執行緒似乎和天網防火牆有衝突,可以透過解除安裝天網並安裝其它防火牆解決,也可以透過在BIOS中關閉超執行緒功能解決情況3、硬體配置不合理例如記憶體不足,當執行一些大型軟體時,CPU的資源大部分耗在了虛擬記憶體的交換處理上。而電源功率不足,也會使CPU的效能難以發揮。還有,在購買CPU時,選的CPU核心頻率不足是導致CPU的使用率高的最直接原因。

3、不完善的驅動程式

硬體的驅動程式沒有經過認證或者是不合法的認證,會造成CPU資源佔用率高。因大量的測試版的驅動在網上氾濫,造成了難以發現的故障原因。處理方式:尤其是顯示卡驅動特別要注意,建議使用微軟認證的或由官方釋出的驅動,並且嚴格核對型號、版本。

4、待機

經常使用待機功能,也會造成系統自動關閉硬碟DMA模式。這不僅會使系統效能大幅度下降,系統啟動速度變慢,也會使是系統在執行一些大型軟體時CPU使用率高。

二、系統程式因素

相對於硬體因素的影響,系統程式的異常也多為CPU資源使用率高的徵兆。以下分別以Dllhost程式和Services程式的分析來剖析異常的原因以及解決辦法。

1、Dllhost程式

特徵:伺服器正常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、Services程式

症狀:在基於 Windows 2000 的計算機上,Services.exe 中的 CPU 使用率可能間歇性地達到100 %,並且計算機可能停止響應(掛起)。出現此問題時,連線到該計算機(如果它是檔案伺服器或域控制器)的使用者會被斷開連線。您可能還需要重新啟動計算機。如果 Esent.dll 錯誤地處理將檔案重新整理到磁碟的方式,則會出現此症狀。

解決方案

Service Pack 資訊:要解決此問題,請獲取最新的 Microsoft Windows 2000 Service Pack。有關其它資訊,請單擊下面的文章編號,以檢視 Microsoft 知識庫中相應的文章:260910 如何獲取最新的 Windows 2000 Service Pack修復程式資訊:Microsoft 提供了受支援的修補程式,但該程式只是為了解決本文所介紹的問題。只有計算機遇到本文提到的特定問題時才可應用此修補程式。此修補程式可能還會接受其它一些測試。因此,如果這個問題沒有對您造成嚴重的影響,Microsoft 建議您等待包含此修補程式的下一個 Windows 2000 Service Pack。

要立即解決此問題,請與“Microsoft 產品支援服務”聯絡,以獲取此修補程式。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70013954/viewspace-2869050/,如需轉載,請註明出處,否則將追究法律責任。

相關文章