必须用性能监视器获取带时间维度的磁盘占用趋势,因其支持长期采样、自动保存与回溯分析;PowerShell可快速获取10分钟快照;资源监视器适合观察近1分钟动态响应曲线。

要准确判断磁盘是否长期过载、是否存在周期性写入高峰或某次更新后出现持续高占用,必须获取带时间维度的磁盘资源占用变化趋势,而非单点快照。
用性能监视器记录并生成磁盘历史趋势报告
性能监视器是Windows唯一原生支持长期采样、自动保存、可回溯分析的工具,能导出CSV供Excel绘图,比实时图表更可靠。
1、按下 Win + R,输入 perfmon 回车,打开性能监视器。
2、在左侧导航栏展开“数据收集器集”→“用户定义”,右键选择“新建数据收集器集”。
3、名称填“磁盘趋势监控”,勾选“手动创建(高级)”,点击下一步。
4、点击“添加”按钮,在“可用计数器”列表中依次添加以下三项:
• \PhysicalDisk(_Total)\% Disk Time(核心指标,反映硬盘真实忙碌比例)
• \PhysicalDisk(_Total)\Disk Reads/sec
• \PhysicalDisk(_Total)\Disk Writes/sec
5、点击下一步,在“日志格式”中选择“二进制文件(.blg)”,路径建议设为 C:\PerfLogs\DiskTrend(需提前手动创建该文件夹),采样间隔设为 15秒——太短会撑爆磁盘,太长则错过峰值。
6、完成向导后,右键刚建好的数据收集器集,选择“启动”。运行至少 6小时以上(建议覆盖一次完整工作日),再右键“停止”。
7、双击该数据收集器集,点击“查看报告”标签页,即可看到带时间轴的折线图;右键图表 → “另存为”,可导出为CSV或HTML格式。
注意:首次使用前需以管理员身份运行命令提示符,执行 diskperf -y 启用磁盘性能计数器,否则所有磁盘相关计数器将显示“无数据”。
用PowerShell快速获取最近10分钟磁盘活动快照序列
适合临时验证某个操作(如安装软件、杀毒扫描)是否引发磁盘脉冲式占用,无需配置、立即生效。
方法一:实时滚动输出每5秒的磁盘读写速率
以管理员身份打开 PowerShell,粘贴运行:
while($true){Get-Counter '\LogicalDisk(C:)\Disk Reads/sec','\LogicalDisk(C:)\Disk Writes/sec' -SampleInterval 5 | ForEach-Object{$_.CounterSamples | Select-Object Timestamp,Path,CookedValue}; Start-Sleep -Seconds 1}
按 Ctrl+C 中断。输出中每行含时间戳和对应速率,复制到记事本即可人工观察波动节奏。
方法二:一次性采集120个样本(即10分钟),导出为CSV
运行:
Get-Counter '\LogicalDisk(C:)\Disk Reads/sec','\LogicalDisk(C:)\Disk Writes/sec' -MaxSamples 120 -SampleInterval 5 | Export-Counter -Path C:\disk_trend_10min.csv -Force
生成的CSV文件可用Excel直接打开,插入折线图,横轴为时间,纵轴为速率值。
通过资源监视器观察近1分钟动态响应曲线
这是唯一能同时看到“当前占用率+队列堆积+响应延迟”的实时界面,适合抓取瞬时异常。
1、按 Win + R 输入 resmon 回车,打开资源监视器。
2、切换到“磁盘”选项卡,确认顶部“磁盘活动”图表已显示绿色/蓝色波形。
3、鼠标悬停在图表任意位置,底部状态栏即显示该时刻的精确时间点、总读写速率(MB/s)、平均响应时间(ms)与当前队列长度。
4、拖动图表下方的时间滑块,可回放过去 60秒内 的全部动态——这不是历史记录,而是内存缓存的实时回溯缓冲区,关掉窗口即清空。
若发现响应时间持续 >15 ms 或队列长度 >4.0,说明磁盘正遭遇I/O拥塞,此时配合上方进程列表勾选高读写进程,能立刻定位源头。











