我怎样才能定期logging最密集的CPU进程?

我有一个服务器,大部分时间在CPU负载5%以下的空闲,除了一天几次,我可以看到一些微小的CPU峰值。 我通过使用PRTG发现了这个。

我怎么知道哪个进程导致CPU峰值? 使用PRTG监视WMI CPU负载很容易,但是我真正需要的是定期logging大多数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分钟运行一次计划任务 第一行是当时最重要的“CPU密集型”进程。 第二行将其logging到带有时间戳的文件中。

如果系统的总CPU使用率超过了99%或者类似的情况,只需要logging脚本即可。 天空是极限。