Windows
有沒有辦法根據程序名稱創建 Windows perfmon 數據收集器?
始終記錄應用程序“名稱”的 CPU 使用情況
在測試的某個階段,我想始終監控我的應用程序的 CPU 使用率。應用程序有一個固定的名稱。
我在 GUI 工具中看不到實現這一點的方法,因為 Process 類總是需要一個 PID。
有沒有辦法為具有該名稱的任何程序創建數據收集器?如果我可以讓它一直執行,這樣我的應用程序的連續呼叫總是被收集,包括在重新啟動作業系統之後,這將是非常方便的。
澄清:我想在程序執行之前創建收集器,並且我不想在每次程序啟動時都更新它(如果我使用 PID,這將是一個要求)。
我確信我可以修改我的應用程序以在每次啟動時創建自己的臨時數據收集器。我不喜歡這個想法,而不是應用程序之外的東西來完成這項工作。我可能還可以創建一個服務(或其他類型的長期執行過程)來尋找我的應用程序啟動,然後創建一個數據收集器。
真正的問題是:Windows 是否已經有工具可以完成這項工作?
我希望看到的最佳答案使用典型的 Windows 功能,並且不涉及我需要維護的服務或腳本。
恐怕我不明白你的問題。您是使用其中一種數據收集器模板還是手動設置?通過手動設置,我在程序類下看到很多程序名稱。
更新
您可以使用此命令創建 DCS
logman.exe create counter Bingo -c "\Process(explorer)\% Processor Time"
將“explorer”替換為您的應用程序名稱。 https://technet.microsoft.com/en-us/library/cc788038(v=ws.11).aspx
然後,您在任務計劃程序中配置該 DCS 的啟動觸發器以在啟動時啟動。
Task Scheduler/Microsoft/Windows/PLA/Bingo
https://blogs.technet.microsoft.com/jeff_stokes/2011/11/16/how-to-sustain-your-data-collector-set-through-a-reboot/