Windows性能监视器可配置磁盘空间、CPU、内存等阈值告警,触发时运行脚本发邮件;需设置采样间隔与持续次数防误报,并验证任务计划、SMTP授权及组策略权限。Windows 自带的性能监视器(Performance Monitor)支持配置预设报警阈值,并在触发时执行操作,例如弹出提示、写入事件日志,或运行脚本发送邮件通知。整个过程不依赖第三方监控平台,资源占用低,适合日常运维。
设置磁盘空间不足预警
这是最常用也最典型的阈值告警场景:
- 打开「性能监视器」:按 Win + R,输入
perfmon.msc回车 - 左侧导航至「性能监视器」→「数据收集器集」→「用户定义」,右键 →「新建数据收集器集」
- 选择「手动创建」→ 勾选「性能计数器警报」→ 下一步命名并完成向导
- 右键新建的警报项 →「属性」→「添加」→ 选择对象为 LogicalDisk,计数器为 % Free Space,实例选具体盘符(如 C:)
- 在「警报」选项卡中设置「下限」,例如填 15 表示剩余空间低于 15% 时触发
- 切换到「操作」选项卡,勾选「运行此程序」,指定一个 .cmd 或 .ps1 脚本路径(后续用于发邮件或记录日志)
配置 CPU 或内存使用率超限告警
适用于识别异常负载:
- 同样在「添加计数器」步骤中,选择对象为 Processor → 计数器为 % Processor Time,实例选 _Total
- 或选择对象为 Memory → 计数器为 % Committed Bytes In Use
- 设定阈值,比如 CPU 持续 5 分钟高于 90%,可填「上限」为 90,采样间隔建议设为 30 秒,持续次数设为 10(即连续 10 次超限才触发)
- 注意:避免过于敏感的设置,防止频繁误报;建议搭配「计划」选项卡中的「开始扫描时间」启用定时监测
让告警自动发邮件(免安装邮件服务)
利用轻量工具 SMTPMailSender 实现命令行发信:
- 下载并解压 SMTPMailSender,首次运行后按 QQ/163/Outlook 等邮箱要求填写 SMTP 服务器、端口、授权码等,生成
config.conf - 新建一个
disk_alert.cmd文件,内容类似:
cd E:\SMTPMailSender
smtpmailsender.exe -f "alert@yourdomain.com" -t "admin@yourdomain.com" -s "【告警】C盘空间不足" -b "当前可用空间已低于15%" -send
- 保存为 ANSI 编码(否则中文乱码),然后在性能警报的「运行此程序」中指向该 .cmd 文件
- 测试前先双击运行一次该脚本,确认能成功收信
验证与维护要点
确保告警真正生效,需检查几个关键环节:
- 任务计划程序中对应任务是否启用(性能警报底层由 Task Scheduler 触发)
- 目标邮箱的 SMTP 授权码是否有效,部分邮箱需单独开启「POP/SMTP 服务」
- 若在域环境中,组策略可能禁用「运行脚本」或限制网络访问,需联系管理员确认权限
- 建议在「事件查看器」→「应用程序和服务日志」→「Microsoft」→「Windows」→「Diagnostics-Performance」中查看警报触发记录











