跳至內容

當 CPU 未受到限流時,如何診斷 EC2 Windows 執行個體上的高 CPU 使用率?

3 分的閱讀內容
0

我的 Amazon Elastic Compute Cloud (Amazon EC2) Windows 執行個體出現高 CPU 使用率的情況,但執行個體的 CPU 並未受到限流。我想診斷高 CPU 使用率的原因。

解決方法

若要判斷高 CPU 使用率的情況,請執行 AWSSupport-TroubleshootWindowsPerformance 執行手冊,或手動識別具有高 CPU 使用率的程序。

確定導致高 CPU 使用率的具體程序後,對該特定應用程式進行疑難排解。

執行 AWSSupport-TroubleshootWindowsPerformance 執行手冊

先決條件:在啟動執行手冊之前,請確定您的 AWS Identity and Access Management (IAM) 使用者或角色具有所需的權限。如需詳細資訊,請參閱 AWSSupport-TroubleshootWindowsPerformance 中的所需的 IAM 權限

請完成下列步驟:

  1. 開啟 AWS Systems Manager console (AWS Systems Manager 主控台)。
  2. Regions (區域) 清單中,選取您的 AWS 區域。
  3. 在導覽窗格中,展開 Shared Resources (共用資源),然後選擇 Documents (文件)。
  4. 在搜尋列中,輸入 AWSSupport-TroubleshootElasticBeanstalk,然後選取執行手冊。
  5. 選擇 Execute automation (執行自動化)。
  6. 選擇 Execute (執行)。如需執行手冊所執行操作的清單,請參閱 AWSSupport-TroubleshootWindowsPerformance 中的文件步驟
  7. 查看 Output (輸出) 以了解執行的詳細結果。

手動疑難排解

使用「任務管理員」來識別高 CPU 使用率的來源

請完成下列步驟:

  1. 使用遠端桌面協定 (RDP) 連線至執行個體
  2. 若要依 CPU 排序,請開啟任務管理員,然後選擇 CPU 欄。
  3. 識別高 CPU 使用率的程序,以判斷程序是否使用預期數量的 CPU。
  4. 對 CPU 使用率超出預期的應用程式進行疑難排解。

如果應用程式使用了預期的 CPU 數量,請變更執行個體類型。如需詳細資訊,請參閱如何調整 EC2 Windows 執行個體的大小或變更 EC2 Windows 執行個體類型?

使用 Process Explorer 來識別高 CPU 使用率的來源

Process Explorer 是 Sysinternals Microsoft 公用程式。如需詳細資訊,請參閱 Microsoft Learn 網站上的 Sysinternals

請完成下列步驟:

  1. 將 Process Explorer 下載到您的執行個體。若要下載,請參閱 Microsoft Ignite 網站上的 Process Explorer
  2. 以管理員身分啟動該應用程式。
  3. 選取 CPU 欄,依使用排序程序。
  4. 選擇 View (檢視)、Show Process Tree (顯示程序樹狀目錄) 以檢視程序之間的父子關係。

**注意:**選取 Threads (執行緒) 索引標籤,以更詳細地了解導致高 CPU 使用率的程序具體操作。

如果仍然無法確定高 CPU 使用率的原因,請使用 Performance Monitor 和 Performance Analysis of Logs (PAL) 工具。Performance Monitor 是一個內建的 Windows 工具。

(選用) 使用 Performance Monitor 識別高 CPU 使用率的來源

請完成下列步驟:

  1. 使用 RDP 連線到您的執行個體
  2. 開啟 Performance Monitor,然後展開 Data Collector Sets (資料收集器集)。
  3. 開啟 User Defined (使用者定義) 的內容功能表,然後選擇 New (新)、Data Collector Set (資料收集器集)。
    Name (名稱) 中,輸入新資料收集器集的名稱,然後選擇 Create manually (Advanced) (手動建立 (進階))。
  4. 選擇 Next (下一步)。
  5. Create data logs (建立資料日誌),選取 Performance Counter (效能計數器),然後選擇 Next (下一步)。
  6. 選擇 Add (新增)。
    Available counters (可用計數器),選擇 Process (程序)、% Processor Time (% 處理器時間)。
    Instances of selected object (所選物件的執行個體),選擇 All instances (所有執行個體)。
    選擇 Add (新增)。
    對您要新增的任何其他效能計數器重複此步驟。
  7. 選擇 Ok (確定)。
  8. (選用) 將 Sample interval (取樣間隔) 和 Units (單位) 設定為您偏好的值。
  9. 選擇 Next (下一步)。
  10. 選擇至少有 1 GB 可用空間的位置來儲存資料,然後選擇 Next (下一步)。
  11. 選擇 Save and close (儲存並關閉),然後選擇 Finish (完成)。
    注意: 如果 CPU 出現峰值,請選擇 Start this data collector set now (立即啟動此資料收集器集)。然後,選擇 Finish (完成)。

效能監視器工具完成資料收集後,您可以開啟並查看報告,以確定哪些程序使用了執行個體 CPU。然後,使用該資訊對使用 CPU 的特定應用程式進行疑難排解。

(選用) 使用 Performance Analysis of Logs (PAL) 產生報告以供分析

**注意:**以下步驟包括使用託管在 GitHub 上的開放原始碼軟體。

PAL 是一個第三方工具,可用於從效能監視器檔案產生報告,以進行更詳細的分析。若要使用 PAL,請完成以下步驟:

  1. 安裝 PAL,然後啟動 PAL 精靈並選擇 Next (下一步)。
  2. Performance Counter Log (效能計數器日誌),輸入效能監視器檔案的路徑,然後選擇 Next (下一步)。
  3. Title (標題)中,選擇 System Overview (系統概觀),然後選擇 Next (下一步)。
    注意: 系統概觀提供一般作業系統效能分析。
  4. 查看並回答 Questions (問題) 區段中每個項目的問題。在 OS (作業系統) 中,請從清單中選擇與您的執行個體位元版本相符的最新作業系統版本。選擇 Next (下一步)。
  5. 選取 Process all of the counters in the counter log (處理計數器記錄中的所有計數器),然後選擇 Next (下一步)。
    注意: 處理所有計數器執行個體可能會耗用大量資源。
  6. Output Folder (輸出資料夾),選取 PAL 報告的輸出目錄。
  7. HTML Report (HTML 報告),選取 HTML Report (HTML 報告),然後選擇Next (下一步)。
  8. 選擇 Next (下一步),然後選擇 Finish (完成)。
  9. 查看 PAL 報告的 Process (程序) 和 Processor (處理器) 區段,以確定哪些程序使用了執行個體的 CPU。

相關資訊

如何得知我的 T2 或 T3 EC2 Windows 執行個體上的 CPU 是否受到限流?

執行由 Systems Manager Automation 提供支援的自動化作業

設定自動化