Machine-check exception
外观
本文旨在帮助用户实现主动监控、记录和报告硬件错误的服务的实现。机器检查异常 (MCE) 是 CPU 在检测到硬件错误或故障发生时生成的错误。
机器检查异常 (MCE) 的发生可能由多种原因引起,从电源供应不期望或超出规格的电压,到宇宙射线翻转内存 DIMM 或 CPU 中的比特,再到其他各种故障,包括触发硬件错误的故障软件。
安装
请安装 rasdaemonAUR 包。由 Mauro Carvalho Chehab 编写的 rasdaemon 是收集 MCE 信息的一个工具。
以前,这项任务是由 mcelog 包执行的。然而,它已经被弃用,并且 Arch 内核甚至没有使用必要的配置选项 CONFIG_X86_MCELOG_LEGACY (FS#55657) 进行编译。
配置
有两个 systemd 服务需要启动并启用。ras-mc-ctl.service 会将 DIMM 标签 (来自 /etc/ras/dimm_labels.d/) 注册到 EDAC 驱动程序。在消费级主板上,它通常会记录一个 No dimm labels for <motherboard model> 错误并什么也不做。rasdaemon.service 作为守护进程运行,并将 RAS 事件记录到 systemd journal。
有关更多信息,请参阅 ras-mc-ctl(8) 和 rasdaemon(1)。
用法
您可以使用 ras-mc-ctl --error-count 和 ras-mc-ctl --summary 快速查看记录的错误。错误会记录到 journal 以及 /var/lib/rasdaemon/ras-mc_event.db 的 sqlite 数据库中。
参见
- Wikipedia:Machine_Check_Exception
- Wikipedia:Machine_check_architecture
- Rasdaemon initial announcement
- Monitoring ECC memory on Linux with rasdaemon