性能监视器不支持自动滚动和定期清理,需通过设置日志大小上限并启用覆盖、配合计划任务运行PowerShell脚本删除过期文件,以及规范存储路径和禁用无用收集器来实现。
性能监视器本身不直接提供“自动滚动”和“定期清理”功能,它的日志文件(.blg 或 .csv)是按数据收集器集设定的运行周期和存储路径生成的。所谓滚动与清理,实际依赖手动策略或外部脚本控制,核心在于限制日志生命周期、覆盖旧文件、删除过期文件。下面分三块说清楚怎么做。
设置日志文件大小上限与自动覆盖
这是最接近“自动滚动”的方式——让新数据覆盖最老的日志片段:
- 在创建或编辑数据收集器集时,进入“属性” → “日志格式”选项卡,勾选“最大日志文件大小(KB)”,例如设为 51200(50MB)
- 勾选“当达到最大大小时,停止此数据收集器集”,再勾选“当达到最大大小时,覆盖最旧的数据”
- 这样日志会持续写入同一文件,超出大小后自动从头覆盖,形成环形缓冲效果
用计划任务实现定期清理旧日志
Windows 没有内置日志自动删除机制,但可用任务计划 + PowerShell 快速实现:
- 新建一个 PowerShell 脚本(如 cleanup-perflogs.ps1),内容如下:
- 在“任务计划程序”中新建基本任务,触发器设为每天凌晨2点,操作设为“启动程序”→ powershell.exe,参数填:
-ExecutionPolicy Bypass -File "C:\path\to\cleanup-perflogs.ps1" - 建议将日志统一存放在固定路径(如 C:\PerfLogs\Admin\),便于脚本精准匹配
避免日志无限堆积的两个关键习惯
很多问题其实出在配置源头,提前规避比后期清理更有效:
- 新建数据收集器集时,不要用默认路径(%systemdrive%\PerfLogs\Admin\),而是指定独立分区或空间充足的路径,防止系统盘被撑爆
- 禁用长期运行但无人查看的数据收集器集——右键 → “属性” → “常规”选项卡 → 取消勾选“已启用”,比删文件更彻底



















