マシンチェック例外
この記事ではハードウェアのエラーを能動的に監視・記録・報告するサービスについて説明します。マシンチェック例外 (MCE) は CPU によって生成されるエラーで、ハードウェアのエラーや故障が検出されたときに発せられます。
マシンチェック例外 (MCE) が発生する理由は幅広く存在します。電源供給の電圧が仕様に満たされなかったりすることから、宇宙線によるメモリ DIMM や CPU のビットの反転まで、様々な要因が考えられます。ハードウェアのエラーを引き起こすソフトウェアの欠陥なども含まれます。
インストール
rasdaemonAUR パッケージをインストールしてください。rasdaemon は Mauro Carvalho Chehab によって書かれた MCE 情報を収集するツールの一つです。
以前は、mcelog
パッケージがつかわれていましたが、非推奨となり、Arch のカーネルは必要なカーネルコンフィグ CONFIG_X86_MCELOG_LEGACY
を有効にしてコンパイルされていません (FS#55657)。
設定
起動・有効化する必要がある systemd サービスは2つあります。ras-mc-ctl.service
は EDAC ドライバーを使って DIMM ラベルを (/etc/ras/dimm_labels.d/
から) 登録します。一般市場向けのマザーボードは大抵 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
を使用すると、記録されたエラーを簡単に確認できます。エラーはジャーナルと /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