Windows-Server-2008-R2

如何在 24 小時內監控 Windows Server 2012 上的 CPU 使用情況和程序作為服務?

  • April 17, 2020

我們有一個長時間執行的高性能操作,執行時間為 6 小時。當它最後一次執行時,在半夜發生了 5 分鐘的事情,其性能急劇下降並導致了幾次超時。我懷疑其他一些程序啟動並敲擊了 CPU 或類似的東西。

在這個網站上搜尋的建議是使用 ProcessMonitor 來監控 CPU。但是,它似乎只在執行時擷取流量,並且它是一個桌面應用程序。我的 windows 伺服器實例在空閒 10 分鐘後將您踢出,由組策略控制,我無法更改它,因此我無法使用桌面應用程序進行監控。

我需要監控 24 小時內的 CPU 使用情況。我只對程序名稱和 cpu 使用率 (%) 感興趣,因此我可以找出是什麼(如果有的話)正在啟動和破壞事物。

因為你被踢了,所以我真的需要可以作為 Windows 服務執行的東西。

有什麼方法可以做到這一點(使用 ProcessMonitor 或類似工具 - Windows 伺服器肯定有內置的東西嗎?)作為服務,所以我不需要登錄到遠端桌面,或者我必須找到某種滑鼠移動腳本並讓我的電腦整夜開著?

編輯:

性能監視器看起來很有希望。很難找到如何配置它來給我想要的東西。

我製作了一個自定義數據收集器 cpu 和程序 ID:

在此處輸入圖像描述

我想要做的是能夠查看每個程序在特定時間的 CPU 使用率,就像您可以在任務管理器中做的那樣,除了圖表和在監控期間的任何時間查看快照的能力。

所以我可以看到 24 小時的圖表,查看出現峰值的點,點擊它,然後查看是哪個程序導致了它。

我什至不相信我的上述配置如果我讓它工作會告訴我程序名稱,它說程序 ID,如果結果是一個 guid 或類似的,這可能也沒有幫助,特別是如果程序啟動和停止當我去調查時,它還沒有執行。

使用 Daniel K 對性能監視器的建議,我發現瞭如何做到這一點。

  • 載入性能監視器
  • 轉到“數據收集器集”
  • 展開“使用者定義”
  • 製作一個新的“數據集”
  • 選擇手動創建(高級),注意你不能在不刪除的情況下更改名稱,所以現在讓它變得合理
  • 按下一步,選擇“創建數據日誌”和“性能計數器”
  • 按下一步,按添加。
  • 左上角,展開“程序”,點擊“%處理器時間”以及您可能想要的任何其他內容。
  • 左下角,點擊''
  • 點擊“添加>>”按鈕,然後按確定
  • 選擇合適的採樣間隔,然後繼續按 Next 直到嚮導結束。
  • 您可以通過右鍵點擊數據收集器集並按開始來開始收集,或者轉到其屬性並設置調度。我發現我的數據收集器在沒有設置停止條件的情況下在 30 分鐘後停止工作,但這可能是異常情況。
  • 完成數據收集後,展開報告 > 使用者定義 > 您的數據集
  • 點兩下打開它。
  • 請注意,底部顯示“% Processor Time”,實例為“_Total”。預設情況下,它會顯示總 CPU 使用率。這包括“空閒時間”,因此它將始終保持在 100% 左右。
  • 點擊圖表上方頂部欄上的綠色 + 按鈕(不在頂部視窗中)
  • 點擊左上角的“程序”,在底部您可以選擇要查看的單個程序,或選擇“”並按添加。
  • 點擊確定,您應該會看到每個程序的 CPU 使用情況的詳細圖表。

Windows Server 有一個內置工具可以實時顯示性能數據或收集日誌中的數據以供日後查看。我認為這將完全符合您的要求。

性能監視器的螢幕截圖

有關使用性能監視器登錄 Windows Server 2012 R2 的基本教程,請參閱本文

請參閱這篇優秀的文章,了解所有可用於檢查 Windows 性能的工具(主要是互動式工具)。

引用自:https://serverfault.com/questions/1012544