当进程退出时,我可以让性能监视器停止数据收集器集吗?

当进程退出时,我可以让性能监视器停止数据收集器集吗?

我目前正在调试一个程序崩溃,需要一段时间内内存使用量的数据。这种崩溃通常发生在长时间打开后,尤其是一整夜。

为此,我定义了一个性能监视器数据收集器集来记录进程的内存使用情况。但是,由于运行时间较长,我不想让计数器无限期地处于活动状态。而且由于结束时间未知,我无法使用任何持续时间停止条件:

数据收集器集属性--停止条件

当该过程结束时我怎样才能停止收集?

答案1

虽然性能监视器本身似乎没有选项,但命令行界面(logman)为脚本解决方案提供了可能性。

PowerShell 具有命令Wait-Process,它会阻塞直到指定的进程结束。

结合这些,我们在 PowerShell 中得到了解决方案:

Wait-Process programname; sleep 30; logman stop datacollectorsetname

睡眠是为了让收集器有时间在过程结束后记录一到两个条目。

相关内容