我目前正在尝试使用类型性能访问一些 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#1
的service#2
。
我正在运行 Windows XP Service Pack 2,但运行 Windows Server 2003 的同事也遇到了同样的问题。
答案1
有趣的是,我也遇到了类似的问题。不过,我的行为有所不同。
对我来说,# 符号在 Windows Server 2003 (SP2) 和 Vista 下可以正确识别。但我在 XP SP2 上遇到了同样的问题。
同样值得注意的是,typeperf 似乎可以列出或输出带有 # 符号的计数器,但当您从命令行或计数器输入文件将它们作为输入提供时,它似乎无法报告它们。
Perfmon 可以很好地报告它们。我想知道为什么会有这么大的差异。
遗憾的是,没有足够的 typeperf 用户来解决这个问题或者让微软或其他公司调查这个问题。