LinuxでのECC監視

Linux ではデフォルトで ECC は有効になっていません。
ECC に対応したハードウェアを使用し、ECCを制御したい場合は以下のようにします。

手順

  1. BIOS で ECC が有効になっていることを確認します。
  2. カーネルモジュール ecc は Linux カーネルには同梱されていません。 Redhat などのディストリビュータ以外からカーネルを持ってきた場合には 別途 ecc モジュールをコンパイルして、/lib/modules/<UNAME>/ 以下に 配置する必要があります。
  3. /etc/rc.local に以下のように書き、カーネルモジュールを組み込みます。
  4. insmod -k ecc
  5. システム起動後、以下のように確認します。
  6.    # lsmod
       Module                  Size  Used by    Not tainted
       ecc                    11360   0  (autoclean)
    
       # cat /proc/ram
       Chipset ECC capability : ECC detection and correction
       Current ECC mode : ECC detection and correction
       Bank    Size    Type    ECC     SBE     MBE
       0       128M    SDR     Y       0       0
       1       128M    SDR     Y       0       0
       2       128M    SDR     Y       0       0
       3       128M    SDR     Y       0       0
       Total   512M
    
  7. 運用中に ECC を検知した場合は以下のように /var/log/messages に出力されます。
  8. Dec  5 20:19:58 172 kernel: ECC: SBE detected in DRAM row 3