![将 Perfmon 计数器名称放入文本文件中的最简单方法是什么?](https://linux22.com/image/515707/%E5%B0%86%20Perfmon%20%E8%AE%A1%E6%95%B0%E5%99%A8%E5%90%8D%E7%A7%B0%E6%94%BE%E5%85%A5%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E6%9C%80%E7%AE%80%E5%8D%95%E6%96%B9%E6%B3%95%E6%98%AF%E4%BB%80%E4%B9%88%EF%BC%9F.png)
我想为我的 logman 命令创建一个设置文件。我希望有大量的性能计数器。
有没有什么简单的方法可以获得所有性能计数器的精确文本?
我唯一想到的是通过 GUI 创建 Perfmon 计数器日志,然后导出所选计数器的列表——但我没有看到导出选项!我想我可以手动复制我在屏幕上看到的内容,但这似乎效率低下。我要处理数十个计数器。
也许有列表?这样复制粘贴会更方便。
答案1
实现此目的的一个简单方法是使用命令typeperf
。
例如,要获取所有可用的 Windows PerfMon 计数器的完整列表,请在命令提示符中键入以下命令:
typeperf -q
创建一个
counters.txt
包含您想要监控的所有计数器的文件(每行 1 个)将输出发送到日志文件。(
typeperf -cf counters.txt -si 5 -sc 50 -f TSV -o domain2.tsv
)
祝你好运!Henk
答案2
我曾经能够做到这一点的唯一方法是设置跟踪,然后保存它(或复制属性并将其粘贴到文本文件中)。HTML 或复制的属性会创建一个带有<object>
大量<param>
标签的标签来设置跟踪。它不是很漂亮,但您可以使用 XML 解析器来过滤标签<param>
。计数器具有NAME
格式的属性Counterxxxxx
(其中 X 是带有前导 0 的增量数字)和一个Path
属性,该属性是目标机器的名称与计数器的名称连接在一起。过滤掉那些特定的节点,你就会得到列表。
我不知道您如何导出系统上所有可用计数器的列表。也许 WMI 或 Powershell 有可以获取它的方法。
另外,看看这个问题这可能会给你更多的线索。
答案3
您可以通过查询特定机器的注册表来导出该机器上所有具有性能计数器的服务列表。在命令提示符中输入 reg query /? 以获取参数列表。