如何在perfmon中获取同一进程的所有实例

Pra*_*uis 2 xml windows perfmon

在 perfmon(性能监视器)中,进程的相同实例由

processabc
processabc#1
processabc#2
Run Code Online (Sandbox Code Playgroud)

有没有办法在不知道有多少个实例的情况下调用 xml(模板)中同一流程的所有实例?

这是到目前为止我的 xml 模板:

<Counter>\Process(Processabc)\% Processor Time</Counter>
<Counter>\Process(Processabc#1)\% Processor Time</Counter>
Run Code Online (Sandbox Code Playgroud)

我想在一行中选择 processabc 的 n 个实例或所有实例。

我知道要选择计算机上的所有进程,可以使用

<Counter>\Process(*)\% Processor Time</Counter>
Run Code Online (Sandbox Code Playgroud)

我想知道我是否可以做类似的事情来解决我的问题。

小智 5

通配符

是的,您可以选择特定流程的所有实例。

星号*是一个通配符,它​​指定任何未指定长度的字符序列,包括根本没有长度

因此,您提到的计数器<Counter>\Process(*)\% Processor Time</Counter>只是选择名称具有零个或多个字符的任何进程

应用通配符

要将其应用于您的情况,只需在通配符前面加上进程名称即可。我使用 Chrome 进行了测试,计数器指定如下:

<Counter>\Process(chrome*)\% Processor Time</Counter>
Run Code Online (Sandbox Code Playgroud)

这意味着:

选择名称为chrome且后跟零个或多个字符的任何进程。

结果报告如下所示。

注意:如果您记录为基于文本的格式(逗号/制表符分隔值),perfmon 将不会选择您启动收集后创建的实例。您应该记录为二进制格式,然后relog.exe根据需要转换回 csv。Windows 性能监视器新实例中的详细信息

在此输入图像描述