用性能监视器 PerfMon 量化定位系统性能瓶颈的实操
服务器响应变慢,却说不清是 CPU、内存还是磁盘在吃资源。Windows 自带的性能监视器(PerfMon)能采集计数器数据,把瓶颈量化出来。本文带你用数据说话,完成一次完整的瓶颈定位,从加计数器到高峰采样再到阈值判断。
一、打开并添加关键计数器
- 运行 perfmon.msc,展开『监视工具—性能监视器』,点击绿色加号添加计数器。
- CPU:Processor(_Total)\% Processor Time;内存:Memory\Available MBytes。
- 磁盘:PhysicalDisk(_Total)\Avg. Disk Queue Length 与 % Disk Time。
- 网络:Network Interface\Bytes Total/sec。
二、用数据收集器集做长期采样
- 展开『数据收集器集—用户定义』,右键『新建—数据收集器集』,选『手动创建』。
- 添加上述性能计数器,设置采样间隔(如 15 秒),保存到指定目录。
- 右键启动,让它跑一段业务高峰期,再停止并『最新报告』查看趋势图。
三、判断瓶颈的阈值经验值
- CPU 持续 >85% 且队列长,说明算力不足。
- Available MBytes 长期低位、伴随 Page Faults 升高,是内存瓶颈。
- 磁盘队列长度 >2(机械盘)且 %Disk Time 接近 100%,磁盘是瓶颈。
- Bytes Total/sec 触达网卡带宽上限,则网络受限。
四、结合资源监视器交叉验证
- 运行 resmon.exe,在『CPU/内存/磁盘/网络』选项卡按占用排序,快速定位进程。
- 将 PerfMon 的趋势与 resmon 的实时进程对应,确认是哪个程序制造瓶颈。
技术总结:PerfMon 用计数器把性能可视化,先加核心计数器、用数据收集器集做高峰采样,再对照经验阈值判断瓶颈类型,最后用资源监视器锁定具体进程。