Windows-Server-2008-R2

如何定期記錄 CPU 最密集的程序?

  • January 4, 2013

我有一台伺服器大部分時間都在低於 5% 的 cpu 負載空閒,除了一天有幾次我可以看到一些輕微的 cpu 峰值。我通過使用 PRTG 發現了這一點。

如何找出導致 cpu 峰值的程序?使用 PRTG 監控 WMI CPU 負載很容易,但我真正需要的是一種定期記錄 CPU 密集度最高的程序的方法。

我想這可以用 perfmon 來完成,但是我需要哪些性能計數器來完成這項工作?

謝謝,

阿德里安

數據收集器集很好,很專業,它們可以由諸如…高 CPU 使用率之類的事件觸發。

您也可以使用 Powershell。

$proc = Get-Process | Sort-Object TotalProcessorTime -Descending -EA 0 | Select -First 1
"$(Get-Date) - $($proc.Name) - $($proc.TotalProcessorTime)" | Out-File file.txt -Append

將其保存為 *.ps1。每 5 分鐘或其他任何時間將其作為計劃任務執行一次。第一行查找當時排名前 1 的“CPU 密集型”程序。第二行將其記錄到帶有時間戳的文件中。

如果系統的總 CPU 使用率超過 99% 或類似情況,您還可以通過僅記錄腳本來獲得您可以想像的幻想。天空是極限。

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