/ Performance,Windows / 96浏览

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

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

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

方法一:在 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 在一堆计数器里用哪个的时候),建议采取命令行。

初次之外,还有些方式:

只是相对麻烦一点而已。

一些常见的计数器解析:

Windows是如何区分互联网下载文件和本地文件的
Windows是如何区分互联网下载文件和本地文件的
如何低成本的获取到应用卡顿情况
如何低成本的获取到应用卡顿情况
【译】ETW 堆跟踪 – 每个分配都被记录
【译】ETW 堆跟踪 – 每个分配都被记录
【译】Wait Analysis – 寻找空闲时间
【译】Wait Analysis – 寻找空闲时间
如何通过 ETW Provider 来记录应用日志
如何通过 ETW Provider 来记录应用日志
如何通过 C++ 实时监听 ETW 事件
如何通过 C++ 实时监听 ETW 事件

0

  1. This post has no comment yet

发表回复

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