首页/系统/服务器硬件与 RAID 速查/mcelog 守护进程与触发配置
内存与电源72 条

mcelog 守护进程与触发配置

mcelog 以守护进程方式持续采集机器检查异常(MCE):配置日志路径与触发动作后,CE/UE 事件会带时间戳落盘,便于按 DIMM 统计与告警联动。

mcelog 解决什么问题

mcelog 以守护进程方式持续采集机器检查异常,把可纠正与不可纠正错误带时间戳写进日志文件,方便按内存条做统计与告警联动。它解决的正是「内核缓冲区会滚动覆盖」这个问题:不开守护进程,等你想查的时候早期的错误记录已经不在了。配置重点在日志路径、是否同时写系统日志,以及与内核异常子系统的配合方式。

基本信息

运行方式以守护进程常驻
日志路径/var/log/mcelog,按配置而定
触发动作达到阈值时记录或执行自定义脚本,按版本支持情况启用
数据来源内核机器检查异常子系统
快速核对systemctl status mcelog 与 journalctl -u mcelog -n 50

典型使用场景

  • 为内存错误建立长期可查的记录
  • 按内存条统计错误次数并联动告警
  • 复盘宕机或进程崩溃时查找硬件证据
  • 与内核日志、带外管理告警交叉验证
  • 在交付验收时确认采集链路已经就绪

安装与启动

安装与启动
# Debian/Ubuntu 系(需已配置可用软件源)
apt-get update && apt-get install -y mcelog
systemctl enable --now mcelog
systemctl status mcelog --no-pager
journalctl -u mcelog -n 50     # 查看服务自身日志

关键配置项

关键配置项
[global]
daemon = yes
logfile = /var/log/mcelog
syslog = yes

[memory]
# 达到阈值时记录或触发自定义脚本,按版本支持情况启用

配置项说明

配置项作用注意
daemon以守护进程方式运行关闭后不会再持续落盘
logfile错误记录路径注意日志轮转与分区空间
syslog同时写入系统日志便于与统一日志平台对接
memory 段内存错误相关阈值与动作支持情况随版本变化
内核与 mcelog 的配合方式存在版本差异:先确认发行版文档与 mcelog 版本,再决定用它还是用 rasdaemon 采集。
较新的发行版更推荐用 rasdaemon 统一采集内存错误数据:选型前先确认本平台默认方案,避免同时维护两套重复的采集链路。
采集到错误后要看趋势而不是单条记录:同一条内存在短时间内反复出现可纠正错误,更换的优先级应高于偶发一次的情况。

易错点

  • 只安装不配置:日志路径与触发动作都没设,排障时依然无据可查
  • 忽略版本差异:老版本对新平台支持有限,可能根本采集不到数据
  • 日志目录没做轮转:长期运行后日志占满分区,反过来影响系统
  • 装了采集工具就以为有告警:采集与告警是两件事,通知路径与阈值要单独配置

数据来源与参考

  • man 8 mcelog
  • mcelog 项目文档(mcelog.org)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌