Windows可通过内置Performance Monitor(perfmon.msc)创建定时数据收集器集,周期采集性能计数器并保存为.blg文件,再用relog.exe或Performance Analyzer导出HTML/CSV报表,全程无需第三方工具。
windows 本身不提供“定时生成系统性能快照报表”的原生功能,但可通过系统内置的性能日志和警报(performance logs and alerts)组件,结合数据收集器集(data collector sets),实现周期性采集性能计数器数据、保存为二进制或 csv 格式,并导出为可视化的报表(如 html 或通过 excel 分析)。整个过程无需第三方工具,且完全基于 windows performance monitor(perfmon.msc)。
创建自动运行的数据收集器集
这是实现定时性能快照的核心步骤。数据收集器集可按计划采集 CPU、内存、磁盘、网络等关键指标,并保存为 .blg(二进制日志)文件,后续可转换为报表。
- 按 Win + R 输入
perfmon.msc,打开“性能监视器” - 展开左侧树形菜单,右键点击“数据收集器集” → “用户定义” → “新建” → “数据收集器集”
- 输入名称(如“每日性能快照”),选择“创建手动(高级)”,勾选“基于模板”或“创建数据收集器集”均可;推荐选“手动创建”以便自定义
- 在“添加计数器”界面中,添加常用性能对象:如
Processor(_Total)\% Processor Time、Memory\Available MBytes、LogicalDisk(C:)\% Free Space等 - 设置采样间隔(例如每60秒一次),日志格式选 二进制(.blg)(兼容性好,支持后续分析)
- 在“计划”页中,点击“当此数据收集器集启动时” → 勾选“按计划” → 设置每天/每周固定时间启动(如每天上午9点)
配置自动保存与轮换策略
避免日志无限增长,需限制单个日志大小和保留周期,确保长期稳定运行。
- 右键刚创建的数据收集器集 → “属性” → “日志文件”选项卡
- 设置“最大日志文件大小”(如 100 MB),并启用“按日志文件大小限制”
- 勾选“将日志文件名附加时间戳”,便于区分日期
- 在“日志文件”页底部,勾选“在达到最大日志文件大小时停止并启动新日志”,实现自动轮换
- 可配合“任务计划程序”定期清理旧日志(例如保留最近7天),使用 PowerShell 脚本:
Get-ChildItem "C:\PerfLogs\DailySnap\*.blg" | Where-Object {$_.LastWriteTime -lt (Get-Date).AddDays(-7)} | Remove-Item
导出为可读报表(HTML/CSV)
.blg 文件不能直接阅读,但 Windows 提供命令行工具 relog.exe 可批量转换为标准格式,再用脚本自动生成报表。
- 新建一个批处理文件(如
export_report.bat),内容如下: relog "C:\PerfLogs\DailySnap\DailySnap_000001.blg" -f CSV -o "C:\Reports\DailySnap_%date:~0,4%%date:~5,2%%date:~8,2%.csv"- 再用 Excel 或 Power BI 打开 CSV,制作图表;或用
typeperf+findstr提取关键值生成摘要文本 - 将该批处理添加到任务计划程序,在数据收集完成后几分钟自动运行(触发条件选“当特定事件被记录时”,事件源为
PerfNet,ID 为 100)
可选:集成邮件通知与图形化展示
若需主动推送日报,可用 PowerShell 调用 Outlook 或 SMTP 发送带摘要图的邮件;也可用免费工具如 Performance Analyzer(微软官方轻量工具)直接打开 .blg 并导出 HTML 报表。
- 下载 Microsoft Performance Analyzer(适用于 Windows 10/11/Server 2016+),打开 .blg 文件 → 点击“File” → “Export Report” → 选择 HTML 格式
- 配合任务计划程序,用
start /wait "C:\PA\PerfAnalyzer.exe" /input:"C:\PerfLogs\*.blg" /output:"C:\Reports\report.html" /format:html实现无人值守导出 - PowerShell 邮件脚本中嵌入
ConvertTo-Html生成简易性能摘要,附上 CSV 或截图,定时发送给运维人员



















