怎么使用性能监视器

系统问题

任务管理器只能告诉你「现在谁在吃 CPU」,而 Windows 自带的性能监视器(英文名 Performance Monitor,程序名 perfmon)能告诉你「过去半小时 CPU 是怎么一步步爬上去的」。这两个问题的难度完全不在一个档次上,后者才是查卡顿、查内存泄漏、查磁盘是不是拖后腿的正经工具。

实话实说,第一次打开它会有点懵——满屏曲线,像心电图。我第一次用的时候还以为电脑在给自己做体检。其实只要搞懂三件事:怎么加计数器、实例怎么选、数据怎么存下来,剩下都是熟练度问题。

三条路都能把它叫出来

最快的方式是键盘操作:Win + R 打开运行框,敲 perfmon 回车,界面直接弹出来。习惯用鼠标的,按开始菜单搜「性能监视器」也一样。命令行窗口里直接输入 perfmon 同样能启动。

顺手说一个容易混的东西:任务管理器「性能」标签页底部那个「打开资源监视器」,是另一个程序(resmon),它擅长看实时进程和磁盘占用明细,但没有历史曲线、没有日志回放。性能监视器和它是两套工具,别搞混。

perfmon 主界面

界面就三块,认完就能动手

左侧是一棵导航树,展开后有「性能监视器」「数据收集器集」「报告」三个节点。中间是图表区,默认是一条不断向右滚动的实时曲线。下方是计数器列表,每一行对应一条曲线,并列出当前值、平均值、最小值、最大值、持续时间。工具栏上那个绿色加号,是整个界面的核心按钮。

加计数器才是真正开始干活

点绿色加号,会弹出「添加计数器」窗口。左边是计数器类别(比如 Processor、Memory、PhysicalDisk),展开后是具体计数器,右边是实例列表。选好一个,点「添加」,再点「确定」,曲线就开始跑了。

「添加计数器」窗口

常用计数器就那么几个,加多了曲线会糊成一团。下面这张表可以先照着来:

看什么 计数器路径 判断标准
CPU 整体占用 \Processor(_Total)\% Processor Time 持续高于 80% 说明 CPU 吃紧
单个进程 CPU \Process(进程名)\% Processor Time 该值可超 100%,是相对单核计算
可用物理内存 \Memory\Available MBytes 掉到物理内存 10% 以下要留意
换页压力 \Memory\Pages/sec 长期几百以上,说明在狂读硬盘补内存
磁盘繁忙度 \PhysicalDisk(_Total)\% Disk Time 贴着 100% 且伴随卡顿,磁盘是瓶颈
磁盘排队长度 \PhysicalDisk(_Total)\Avg. Disk Queue Length 持续大于 2 表示请求在排队
网络吞吐 \Network Interface(网卡名)\Bytes Total/sec 和带宽上限对比着看
线程切换 \System\Context Switches/sec 异常飙高常伴随锁竞争

实例那一栏选错,数据就对不上

同一个计数器往往有很多实例。Processor 下有 _Total(全部核心合计)和 012 这样的单核;Process 下则是每个跑着的进程一份。想看整机状态就选 _Total,想揪出是哪只程序在捣鬼就选具体进程名。

进程那一栏偶尔会出现 chrome#1chrome#2 这种带井号的同名实例,那是同一个程序的多个副本,光看名字分不清是哪个。这时候去任务管理器「详细信息」里对一下 PID 更靠谱。

默认视图太朴素,调顺手了才看得清

右键图表区域选「属性」,能改的东西不少:线的颜色和粗细、纵轴最大值、显示垂直网格、是否显示图例。多个计数器挤在一起时,可以在下方列表里选中某一行,点工具栏那个「突出显示」灯泡图标,该曲线会加粗显示,其他的变细,一眼就能扫到重点。

还有一种情况:几个计数器的量级差太多,比如 CPU 占用在 0~100,网络流量在几百万字节每秒,画在一起后面那条直接贴着底部看不见。这时候把纵轴最大值手动调小,或者干脆分两次看。

要连续记录几个小时,交给数据收集器集

实时曲线关掉窗口就没了,想留证据得用「数据收集器集」。左侧展开「数据收集器集」→「用户定义」,右键「新建」→「数据收集器集」,输入名字,选「手动创建(高级)」,勾上「性能计数器」下一步,把要盯的计数器加进去。

新建数据收集器集页面

这一步里有两个参数值得花点心思:

  • 采样间隔:默认值通常是 15 秒,可按需改成 5 秒甚至 1 秒。间隔越短曲线越细腻,日志文件也越大,长时间挂机记录建议放宽松一点。
  • 保存位置和文件名:默认存成 blg 二进制日志,路径自己指定一个好找的文件夹。

建好之后右键它选「开始」,任务栏托盘会出现一个小图标表示正在记录,跑完选「停止」即可。整个过程对系统负担很轻,挂一天也不影响正常用。

事后回放:把 blg 日志当录像看

这是很多人不知道的功能。右键图表区域选「属性」,在「数据源」里把「当前活动」换成「日志文件」,点「添加」选中之前生成的 blg,确定。然后照常点绿色加号加计数器——只不过这次读的是历史数据,你可以像倒带一样拉时间轴,反复看某个时间点到底发生了什么。

需要把数据交给别人看时,右键图表选「将数据另存为」,能导出成 CSV 或 TSV,拖进 Excel 就成了一张规整的表,比截图有说服力得多。整个视图配置也能通过「保存设置」存成 html 文件,双击就能恢复当时的界面。

几个踩过才知道的细节

PhysicalDisk 这一组计数器在部分系统上默认是关闭的,现象就是列表里找不到它。用管理员身份打开命令行,敲一次 diskperf -y 再重启,就能看到了。

权限问题也常遇到:普通账户打开 perfmon 时,部分系统级计数器会添加失败或显示为 0,用管理员身份运行更省事。要是某个计数器死活没数据,先确认实例选对了,再确认对应的服务或设备是不是本来就处于未启用状态。

另外别把计数器路径里的反斜杠写错,格式是 \类别(实例)\计数器名,实例名区分大小写,手工输入很容易翻车,直接点选最稳妥。

操作系统种类多样、版本繁杂,本文内容可能无法完全匹配你的具体环境,不保证完全正确或普遍适用,仅供操作参考。