Windows typeperf 和磅符号

Windows typeperf 和磅符号

我目前正在尝试使用类型性能访问一些 Windows 性能计数器。不幸的是,我尝试检查的一些实例的格式为service#1

命令

 typeperf "\\server\Process(service#1)\Working Set Peak"

不幸的是返回的是 的数据,\\server\Process(service)\Working Set Peak而不是实例的数据service#1。这对于任何计数器字符串中包含井号的服务。有谁知道解决这个问题的方法吗?

示例输出:

I:\>typeperf -s server "\Process(service#1)\Working Set"

"(PDH-CSV 4.0)","\\server\Process(service)\Working Set"
"10/08/2009 09:37:29.070","1643274240.000000"
"10/08/2009 09:37:30.070","1643274240.000000"
"10/08/2009 09:37:31.070","1643274240.000000"

The command completed successfully.

I:\>typeperf -s server "\Process(service#2)\Working Set"

"(PDH-CSV 4.0)","\\server\Process(service)\Working Set"
"10/08/2009 09:37:39.273","1643274240.000000"
"10/08/2009 09:37:40.273","1643274240.000000"
"10/08/2009 09:37:41.273","1643274240.000000"
"10/08/2009 09:37:42.273","1643274240.000000"
"10/08/2009 09:37:43.273","1643274240.000000"

The command completed successfully.

我可以在 PerfMon 中确认工作集值“1643274240.000000”对于和都是不正确service#1service#2

我正在运行 Windows XP Service Pack 2,但运行 Windows Server 2003 的同事也遇到了同样的问题。

答案1

有趣的是,我也遇到了类似的问题。不过,我的行为有所不同。

对我来说,# 符号在 Windows Server 2003 (SP2) 和 Vista 下可以正确识别。但我在 XP SP2 上遇到了同样的问题。

同样值得注意的是,typeperf 似乎可以列出或输出带有 # 符号的计数器,但当您从命令行或计数器输入文件将它们作为输入提供时,它似乎无法报告它们。

Perfmon 可以很好地报告它们。我想知道为什么会有这么大的差异。

遗憾的是,没有足够的 typeperf 用户来解决这个问题或者让微软或其他公司调查这个问题。

相关内容