/ Performance,Windows / 34浏览

如何查看性能监视器中的计数器

在性能分析中,计数器是一个非常方便快捷获取当前系统和应用状态的工具。了解并查看有哪些计数器非常重要,能让你在分析应用或者系统性能问题的时候不至于手足无措。

这篇文章就来说下,怎么获取所有可用的计数器。

方法一:在 PerfMon 图形界面中查看

1. 打开 PerfMon

  • 通过「开始」菜单搜索 Performance Monitor
  • 打开「运行」(Win+R),输入 perfmon.msc 并回车。

2. 展开 “监视工具(Performance Monitor)”

在左侧树状列表中,展开 “监视工具(Performance Monitor)”(也有可能是“实时监视(Performance Monitor)”)。

3. 添加计数器(Add Counters)

点击工具栏上方的 “+” 号(Add)以添加计数器。在 “添加计数器(Add Counters)” 对话框中,可在 “可用的计数器(Available counters)” 列表中查看当前系统可以监控的全部对象和计数器名称,按照对象(Object)分类展开后,即可看到对应的所有计数器。还可以勾选上“Show description” 来显示描述信息。

方法二:通过命令行 (typeperf) 导出

Windows 内置的 typeperf 工具可以列出系统中的所有性能计数器。常用方法:

列出所有计数器

typeperf -qx

该命令会输出系统中的所有计数器(包含对象名称、实例、计数器名称等),结果通常会非常多,可通过重定向到文件进行查看,比如:

typeperf -qx > AllCounters.txt

列出特定对象的计数器

typeperf -qx | findstr /i "Memory" 

通过在输出中查找包含 “Memory” 的行,来快速定位某一类计数器。

方法三:通过 PowerShell 的 Get-Counter

在 PowerShell 中,可以使用 Get-Counter Cmdlet 来获取性能计数器列表或采样数据。例如:

  • 列出所有性能计数器类别:
Get-Counter -ListSet * | Select-Object -ExpandProperty CounterSetName
  • 列出特定对象下的所有计数器:

    Get-Counter -ListSet "Memory" | Select -ExpandProperty Counter

    会列出 “Memory” 对象下的所有可用计数器。

  • 查看实时计数器值:

    Get-Counter "\Memory\Available MBytes"

总结

简单而言,可以通过图形界面、命令行来获取到所有信息。
如果你是想大致看看,建议直接使用方法一,图形界面查看。
如果你想导出出来,做一些处理(比如,问 AI 在一堆计数器里用哪个的时候),建议采取命令行。

初次之外,还有些方式:

只是相对麻烦一点而已。

一些常见的计数器解析:

如何通过 C++ 实时监听 ETW 事件
如何通过 C++ 实时监听 ETW 事件
【译】调查并确定 Windows 运行速度变慢问题
【译】调查并确定 Windows 运行速度变慢问题
【译】丢失的 WPA 文档 —— 磁盘使用
【译】丢失的 WPA 文档 —— 磁盘使用
【译】丢失的 WPA 文档 —— CPU 调度
【译】丢失的 WPA 文档 —— CPU 调度
【译】丢失的 WPA 文档 —— CPU 采样
【译】丢失的 WPA 文档 —— CPU 采样
如何通过 PDH(Performance Data Helper) 获取性能计数器的值

0

  1. This post has no comment yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注