我目前正在尝试使用typeperf访问一些Windows性能计数器。 不幸的是,我试图检查的一些情况是service#1的格式。
命令
typeperf "\\server\Process(service#1)\Working Set Peak"
不幸的是返回\\server\Process(service)\Working Set Peak的数据,而不是实例service#1的数据。 对于在计数器string中标有符号的任何服务都适用。 有谁知道一个方法来解决这个问题?
示例输出:
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的同事遇到同样的问题。
有趣的是,我有类似的问题。 但是,我的行为是不同的。
对于我来说,#号可以在Windows Server 2003(SP2)和Vista下正确识别。 但是我有与XP SP2相同的问题。
一个有趣的事情要注意,typeperf似乎列出或输出带#号的计数器,它似乎无法通过命令行或计数器input文件报告它们作为input时。
Perfmon可以很好地报告它们。 我不知道为什么这一切的差异。
太糟糕了,没有足够的typeperf用户来解决这个问题,或者被微软或者其他人看到。