linux サーバ上のメモリの ECC 訂正回数を確認する方法

メモリのエラー訂正はサーバでは必須だよという話もあるけど、じゃあ実際どのくらい訂正が発生しているのか。確認するには、/sys/devices/system/edac/mc/mc*/csrow*/edac_mode が S.?ECD.?ED になっていることを確認した上で /sys/devices/system/edac/mc/mc*/csrow*/ce_count を見ればいいっぽい。

$ cat /sys/devices/system/edac/mc/mc*/csrow*/edac_mode
S4ECD4ED
S4ECD4ED
S4ECD4ED
S4ECD4ED
S4ECD4ED
S4ECD4ED
S4ECD4ED
S4ECD4ED
$ cat /sys/devices/system/edac/mc/mc*/csrow*/ce_count
0
0
0
0
0
0
0
0

普段作業している Opeteron サーバ3台で確認の値を見てみたけど、エラー訂正が行われたサーバは見つからなかった。大規模な運用環境だったら見つかったりするのかなぁ。EDAC の値を使って不良メモリの交換やってる事例とかあるんだろうか。

以下参考:
LinuxでECCエラーを検出する - (ひ)メモ
edac.txt from 2.6.16-rc2 [LWN.net]
http://www.gelato.unsw.edu.au/lxr/source/drivers/edac/edac_mc.h#L139