IPMIからどのメモリが故障しているか判別する

メモリが死んだ

自宅鯖のjournalログを見ていたら大量にECCメモリのエラー出ていました。

どのメモリが死んでるか判別するため、IPMIで見てみました。

IPMI

UbuntuでIPMIを確認するにはまず/etc/modulesにモジュール読み込みます

ipmi_devintf
ipmi_si

IPMItool

$ sudo apt install ipmitool

ログ確認

$ sudo ipmitool sel list

こんな感じに大量にメモリーエラーが出ていました。
ここから故障してるメモリを特定していきます。

イベントの詳細を確認

XXにはさっき出力されたメモリエラーの行の左端の番号を入力します。

$ sudo ipmitool sel get XX

Event Data (RAW)の値に注目します。

この値をバイナリに変換し、10進数に変換するとどのメモリのエラーか判別できます。

Windowsの電卓でできるみたいなので使ってみました。

右端の4ビットがメモリ、その一つ左の4ビットがCPUソケットを表すようです。

メモリの値

0000だと1番目、0001だと2番目、0010だと3番目のメモリ…という感じです。
私の使ってるマザーボードでは、DIMM_A1 DIMM_A2 DIMM_B1 DIMM_B2とあり、0001つまり2番目と書いていたので、DIMM_A2に刺さってるメモリが故障していることがわかりました。

CPUの値

複数個とかCPU積んでる場合、0000だと1番目のCPUのレーンのメモリ、0001だと2番目…という感じになることがわかります。
私のマザーボードは1個しかCPU積んでないので0000という値になってます。

おすすめ

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Index