搜尋
首頁運維windows維cpu佔用率100%怎麼解決

cpu佔用率100%怎麼解決

May 12, 2021 pm 03:32 PM
cpu

cpu佔用率100%的解決方法:先找到影響CPU使用率過高的具體進程;然後排查影響CPU使用率過高的進程是否正常;最後分類進行處理即可。

cpu佔用率100%怎麼解決

本文操作環境:Windows Server 2008系統、Dell G3電腦。

cpu佔用率100%怎麼解決?

概述

本文主要介紹Windows實例中CPU使用率較高問題的檢查及解決方法。

詳細資料

阿里雲提醒您:

  • 如果您對實例或資料有修改、變更等風險操作,請務必注意實例的容災、容錯能力,確保資料安全。
  • 如果您對實例(包含但不限於ECS、RDS)等進行設定與資料修改,建議提前建立快照或開啟RDS日誌備份等功能。
  • 如果您在阿里雲平台授權或提交過登入帳號、密碼等安全訊息,建議您及時修改。

本文主要透過以下步驟來介紹。

定位問題。找到影響CPU使用率過高的具體進程。

分析處理。排查影響CPU使用率過高的進程是否正常,並分類進行處理。

  • 對於正常進程:您需要對程式進行最佳化或升級伺服器設定。
  • 對於異常進程:您可以手動對進程進行查殺,也可以使用第三方安全工具去查殺。

操作範例。介紹具體排查及解決方法的流程。

更多資訊。介紹排查工具的使用。

定位問題

微軟有多個工具可以定位CPU使用率過高的問題,例如工作管理員、資源監視器(Resource Monitor)、效能監視器(Performance Monitor)、 Process Explorer、Xperf(Windows server 2008 以後)、KernRate(Windows server 2003),抓取系統Full Memory Dump進行檢查。在流量大的情況下,您也可以使用Wireshark抓取一段時間的網路包,分析流量使用情況。

提示:Windows Server 2008以上系統,通常使用系統自帶的資源監視器監控CPU。

  • 在桌面底部點選 #開始 選單,選擇 執行

  • 開啟執行方塊後,在方塊中輸入perfmon -res,並按一下 確定

cpu佔用率100%怎麼解決

  • #在資源監視器頁面中,查看各行程是否有CPU使用率過高的現象。

cpu佔用率100%怎麼解決

  • #針對佔用資源較高的進程,查看對應的進程ID和進程的程序名。

  • 定位進程ID後,結合任務管理器判斷程式是否異常並定位程式的特定位置。
  1. 定位異常進程前,需要在工作管理員中依序點選 查看(V)選擇欄位(S)
    cpu佔用率100%怎麼解決
  2. 在彈出的方塊中選擇 PID(進程識別碼),按一下 確定
    cpu佔用率100%怎麼解決
  3. 在任務管理器的進程頁面中,將會增加PID這一項。點選 PID,透過排序,找到先前資源監視器檢視到的異常進程。右鍵點選進程名稱,選擇開啟檔案位置,查案進程是不是惡意程式。

分析處理

CPU使用率過高的分析處理

您需要判斷影響CPU使用率過高的進程,屬於正常進程還是異常進程,並分類進行處理。

正常使用率過高的分析處理

正常情況下,當客戶經常存取業務,或由於Windows自身服務(更新服務等)都可能會佔用較高網路流量和CPU 。針對正常進程導致的CPU使用率過高的情況,請依照以下順序逐一進行檢查。

提示:Windows Server 2008或Windows Server 2012執行個體建議記憶體配置在2G或2G以上。

  • 檢查後台是否有執行Windows Update的行為。

  • 建議在伺服器上安裝防毒軟體,進行防毒軟體。如有安裝防毒軟體,請檢查CPU飆升時,防毒軟體是否在背景執行掃描操作。如果可能,請升級防毒軟體到最新版本,或移除防毒軟體。

  • 檢查該ECS內應用程式是否有大量的磁碟存取、網路存取行為或高運算需求。透過嘗試增配執行個體規格的方式,使用更多核數或記憶體的規格來解決資源瓶頸問題,例如昇級配置。

  • 若自身伺服器配置較高,再去升級設定已經沒有太大意義。架構方面也並非是伺服器配置越高越好。此時,您需要嘗試進行應用程式分離,同時對相關程式進行最佳化。範例說明如下。

問題描述:當一個伺服器上面同時部署了MySQL、PHP、Web等多種應用,即使配置比較高,也很容易出現資源負載異常。
解決方法:嘗試應用分離,透過不同的伺服器去承載不同的應用程式。例如資料庫完全透過RDS來承載,減輕伺服器本身的資源消耗和伺服器內部大量的呼叫。而程式最佳化方面,您可以根據自身的配置狀況進行調整,例如調整連線數和快取配置,以及Web和資料庫呼叫時的各項參數等。

異常使用率過高的分析處理

對於CPU異常使用率過高的情況,可能是被惡意病毒、木馬入侵導致的。有時三方惡意程式可能會利用作業系統的svchost.exe或Tcpsvcs.exe來偽裝,造成高CPU的佔用。您需要手動對異常進程進行查殺。

提示:若您無法判斷進程是否為病毒或木馬,建議將進程名稱在網路上搜尋後確認。另外,建議您進行進程刪除操作前,提前建立快照完成備份。

  • 使用商業版防毒軟體,或使用微軟免費安全工具Microsoft Safety Scanner,在安全模式下進行掃描防毒,工具連結如下所示。
  • https://www.microsoft.com/security/scanner/zh-cn/default.aspx
  • 執行Windows Update來安裝最新的微軟安全補丁。

  • 使用MSconfig停用所有非微軟自帶服務驅動,檢查問題是否再次發生,具體操作請參考如何在Windows系統中執行乾淨啟動

  • 若伺服器或網站遭受DDoS攻擊或CC攻擊等,短期內產生大量的存取需求。您可以登入雲端安全中心,查看雲盾中的防護DDoS攻擊是否調整好門檻,並確認是否開啟CC防護。如果攻擊沒有觸發到閾值,雲盾沒有清洗,可以聯繫售後協助開起清洗。

操作範例

CPU使用率較高的可能原因如下。

  • 病毒木馬入侵。
  • 第三方防毒軟體運作。
  • 應用程式異常、驅動異常、高I/O使用率或高中斷處理的應用程式。

提示:在使用Windows Server 2012的1核心1GB規格的執行個體時,Windows Update服務會自動更新,執行個體的CPU使用率也會突然升高,這是正常現象。

解決方案

提示:本文大量引用Microsoft的官方文檔和工具鏈接,版權和所屬權歸Microsoft所有,並請充分考慮Microsoft Windows產品迭代或文件未及時更新可能帶來的問題。

  • CPU使用率較高時,檢查後台是否正在執行Windows Update的程序。

  • 檢查防毒軟體在背景是否正在執行掃描操作。可以升級防毒軟體到最新版本,或刪除防毒軟體。

  • 點選 執行,然後輸入 MSCONFIG,停用所有非Microsoft自帶服務驅動,然後檢查問題是否再次發生。相關參考文件如下。

  • How to perform a clean boot in Windows

  • #使用商業版防毒軟體或Microsoft安全掃描程式在安全模式下掃描殺毒。關於Microsoft安全掃描程序的參考文件如下。

  • Microsoft安全掃描程式

  • #執行Windows Update安裝最新Microsoft安全性修補程式。

  • 當ECS實例有大量的磁碟存取、網路存取和高運算需求時,CPU使用率較高是正常現象,可以透過升級實例規格的方式以應對資源不足問題。關於如何升級實例規格,請參考如下文件。

  • 升降配方式總結

更多解決方法可參考以下Microsoft文件。

更多資訊

以下是關於Windows實例檢查工具推薦的相關內容。

任務管理器

  • 直觀檢查應用程式列表,定位佔用CPU較高的應用程序,如下是任務管理器頁面。
    cpu佔用率100%怎麼解決
  • 在效能頁面檢查CPU使用率時,右鍵點選CPU使用率圖示,點選 將圖形改為 > 邏輯處理器。如下圖顯示了4個邏輯CPU的使用率。
    cpu佔用率100%怎麼解決
  • 當單一進程的CPU使用率飆升至接近100%時,而其它進程的CPU使用率變化不大,則可能是網路I/O處理造成的。

資源監視器

直覺檢查CPU使用率,也可以透過帳號和模組搜尋對應的進程。

cpu佔用率100%怎麼解決

Process Explorer

  • Process Explorer是一款Microsoft Sysinternals工具,透過配置正確的Symbols,檢查對應應用程式的執行緒呼叫的Call Stack,以定位可能的問題驅動。下載Process Explorer工具連結如下。
  • 如下是Process Explorer工具使用頁面。
    cpu佔用率100%怎麼解決

效能監視器

  • #效能監視器(Performance Monitor)是Microsoft專業收集各個元件效能計數器的工具。對於系統CPU資源消耗,有多個Counter來檢查。透過點選 開始 > 執行 > perfmon,開啟效能監視器。
  • Performance有以下三個核心參數。其中\Processor(_Total)\% Processor Time\Processor(*)\% User Time\Processor(*)\% Privileged Time總和。
    • \Processor(_Total)\% Processor Time
    • #\Processor(*)\% User Time
    • #\Processor(*)\% Privileged Time
  • #\Processor(*)\% Privileged Time是應用程式在內核中執行系統呼叫(例如驅動、IRP,上下文切換等)操作的時間。如果作業系統花費多餘30%的時間在Privileged Time,如下圖所示,則表示實例正在進行高I/O吞吐相關的操作。
    cpu佔用率100%怎麼解決
  • % Privileged Time#高時,需要進一步檢查% DPC Time% Interrupt Time以及Context Switches/sec的情況。
  • % DPC Time% Interrupt Time很高時,需使用Microsoft  Xperf工具進一步分析,請參考下列文件使用XPerf工具。
  • #Context Switch值很高時,請參考下列文件。
  • #\Processor(*)\% User Time表示處理器用於執行程式程式碼的時間消耗,可以確定哪個應用程式或函數呼叫消耗了較多的時間。
  • User Time情況如下圖所示。
    cpu佔用率100%怎麼解決

適用於

  • 雲端伺服器 ECS

以上是cpu佔用率100%怎麼解決的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

WebStorm Mac版

WebStorm Mac版

好用的JavaScript開發工具

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

SecLists

SecLists

SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

Atom編輯器mac版下載

Atom編輯器mac版下載

最受歡迎的的開源編輯器