首页/系统/Windows 运维速查/性能监视器与数据收集器

性能监视器与数据收集器

perfmon 是性能数据中枢:实时曲线、计数器日志与数据收集器集;疑难问题先建采样再复现。

Windows 运维速查系统更新于 2026-10-13

性能监视器是干什么的

perfmon 是 Windows 的性能数据中枢:实时曲线视图用来现场观察,数据收集器集用来长期采集并落成 blg 文件,relog 可以把它转成 CSV 供分析。它的价值不在“看个数字”,而在于把主观抱怨(“服务器很慢”)变成可比较的曲线与阈值,从而区分 CPU、内存、磁盘、网络里到底是哪一环出了问题。

基本信息

适用平台Windows 客户端与服务器全版本
启动perfmon;perfmon /res 打开资源监视器
常用计数器Processor Time、Available MBytes、Avg. Disk Queue Length、Bytes Total/sec
日志格式blg 为二进制,用 relog -f CSV 转文本
权限本机查看普通用户可;远程采集与创建数据收集器集需相应权限

典型使用场景

  • 用户抱怨系统慢:先看 CPU 与磁盘队列,判断是计算瓶颈还是 IO 瓶颈
  • 内存不足排查:看可用内存与提交量的趋势,判断是配置不足还是泄漏
  • 应用上线前压测:按时间轴记录基线,作为容量规划依据
  • 疑难问题留证:用数据收集器集连续采集几天,覆盖间歇性故障
  • 远程服务器监控:在本地 perfmon 添加远程计数器(需权限与连通性)

常用示例

常用示例
:: 打开性能监视器与资源监视器
perfmon
perfmon /res
:: 把已有 blg 转成 CSV 便于分析
relog D:\perf.blg -f CSV -o D:\perf.csv
:: 查看当前正在运行的采集会话
logman query -ets
:: 用 logman 建一个 1 分钟采样的计数器日志
logman create counter Perf1min -f bincirc -si 00:01:00 -cnf 01:00:00 -o D:\perf.blg -c "\Processor(_Total)\% Processor Time" -c "\Memory\Available MBytes"
logman start Perf1min

关键计数器读法

计数器含义异常提示
% Processor TimeCPU 总占用长期高于 80% 说明计算资源吃紧
Available MBytes可用物理内存持续偏低会引发换页与响应变慢
Avg. Disk Queue Length磁盘平均队列长度持续大于 2 说明 IO 排队严重
% Disk Time磁盘忙闲比例长期接近 100% 需区分真实负载与统计假象
Bytes Total/sec网卡吞吐接近链路带宽上限时考虑网络扩容
采样间隔要和现象持续时间匹配:持续几秒的卡顿用 1 分钟采样根本抓不到,短时现象用 1-5 秒;连续几天的趋势问题用 1 分钟以上,避免文件过大。
计数器数量本身就是成本:一次挂几百个计数器会明显增加被监控系统的负担。按假设选最小集合,先验证方向再加计数器。
数据收集器集占用磁盘会持续增长,务必设置日志上限与循环覆盖(bincirc)。曾因忘记设上限把系统盘写满导致服务中断的案例并不少见。

易错点

  • 只截图某时刻的瞬时值:单点数据没有说服力,应先采集一段时间形成曲线
  • 监控项太多导致被监控系统更慢:观测行为本身改变了被观测对象
  • 采集文件没设上限:长期运行写满磁盘,故障影响远大于原问题
  • 用 CPU 占用解释一切:实际瓶颈常在磁盘队列或内存换页上,计数器要成组看
  • 远程采集没考虑网络与权限:采不到数据时先验证连通性与凭据,别急着怀疑系统

数据来源与参考

  • Microsoft Learn:性能监视器(perfmon)
  • Microsoft Learn:relog

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌