可利用Windows性能监视器捕获CPU、内存、磁盘、网络关键计数器,通过数据收集器集长期采样、Relog转CSV分析、阈值规则识别瓶颈,并支持历史.blg日志回溯。

如果您希望识别Windows系统中导致性能下降的具体资源限制,则可以利用内置的性能监视器工具捕获和解读关键计数器数据。以下是开展此项分析的具体步骤:
一、启动性能监视器并添加关键计数器
性能监视器通过实时采集CPU、内存、磁盘和网络等子系统的运行指标,帮助定位资源争用点。需手动添加与瓶颈诊断强相关的计数器集合,避免默认视图的干扰。
1、按 Win + R 打开运行对话框,输入 perfmon 并回车。
2、在左侧导航栏展开 性能监视器,右键点击右侧图表区域,选择 添加计数器。
3、在弹出窗口中依次勾选以下对象及其实例:Processor(_Total)\% Processor Time、Memory\Available MBytes、PhysicalDisk(_Total)\% Disk Time、Network Interface(*)\Bytes Total/sec。
4、点击 添加 后确认关闭窗口,开始实时绘图。
二、创建数据收集器集进行长时间采样
实时监视仅反映当前瞬时状态,难以捕捉偶发性瓶颈。数据收集器集可将计数器值以二进制格式保存为.blg文件,支持事后回放与跨时段比对。
1、在性能监视器主界面左侧,展开 数据收集器集,右键 用户定义,选择 新建数据收集器集。
2、输入名称如 System_Bottleneck_Analysis,选择 创建手动(高级),点击下一步。
3、勾选 性能计数器,点击下一步;在“添加”按钮旁下拉菜单中选择 从系统中添加计数器,重复第一步中列出的四个核心计数器。
4、设置样本间隔为 15秒,日志格式选 二进制(.blg),指定保存路径后完成创建。
5、右键新创建的收集器集,选择 启动,运行至少30分钟或覆盖目标负载周期。
三、使用Relog命令导出为CSV供深度分析
.blg文件无法直接被Excel打开,需借助Relog工具转换为结构化文本格式,便于筛选高负载时段、计算峰值均值及制作散点图。
1、以管理员身份打开命令提示符,切换至保存.blg文件的目录。
2、执行命令:relog "System_Bottleneck_Analysis_000001.blg" -f CSV -o analysis.csv。
3、等待转换完成,检查生成的 analysis.csv 文件是否包含时间戳列与全部计数器列。
4、用Excel打开该CSV,插入数据透视表,将时间字段拖入行区域,各计数器字段拖入值区域并设为“最大值”,快速识别各资源最高占用时段。
四、基于阈值规则识别典型瓶颈模式
单一计数器读数无绝对好坏之分,需结合多维度关联判断。例如持续高CPU未必代表瓶颈,若同时伴随低可用内存和高磁盘队列长度,则指向内存不足引发的频繁页面交换。
1、观察 % Processor Time 是否连续5分钟高于 85%,且 System\Processor Queue Length 大于 2。
2、检查 Available MBytes 是否长期低于 500 MB,同时 Memory\Pages/sec 超过 20。
3、确认 % Disk Time 高于 90% 时,PhysicalDisk\Avg. Disk Queue Length 是否大于磁盘数量的两倍。
4、若 Bytes Total/sec 接近网卡标称带宽的 90%,且应用层出现连接超时,则判定为网络吞吐瓶颈。
五、加载性能计数器日志进行时间线回溯
当已存在历史.blg文件或收到他人提供的性能日志时,可直接在性能监视器中加载,无需重新采集,节省复现问题的时间成本。
1、在性能监视器主界面右侧图表区域右键,选择 属性。
2、切换到 数据源 选项卡,勾选 从日志文件,点击 浏览 找到目标.blg文件。
3、点击 添加 按钮,在弹出窗口中展开日志文件节点,勾选全部已记录的计数器。
4、点击确定后,图表将自动载入日志时间段内的完整轨迹,拖动时间滑块可精确定位某毫秒级事件发生前后的资源状态变化。











