MCEメッセージを理解して、サーバーで不良なメモリモジュールを見つけようとしています。このメッセージは、今日2回フリーズする1つのサーバーの/var/log/kern.log
に表示されます。
Apr 13 22:39:22 mbox kernel: [36247975.116860] sbridge: HANDLING MCE MEMORY ERROR
Apr 13 22:39:22 mbox kernel: [36247975.116867] CPU 0: Machine Check Exception: 0 Bank 5: 8c00004000010090
Apr 13 22:39:22 mbox kernel: [36247975.116869] TSC 0 ADDR 4a0d75900 MISC 21405cdc86 PROCESSOR 0:206d7 TIME 1428957562 SOCKET 0 APIC 0
Apr 13 22:39:22 mbox kernel: [36247975.951013] EDAC MC0: 1 CE memory read error
メモリモジュールが不良だと思います。サーバーは2x Xeon E5-2650で、8x8Goメモリモジュール(各CPUに8つのメモリスロット)
lshw
からのメモリモジュールの数は次のとおりです。
*-memory:0
description: System Memory
physical id: 2d
slot: System board or motherboard
*-bank:0
description: DIMM DDR3 1333 MHz (0,8 ns)
product: 9965516-197.A
vendor: Kingston
physical id: 0
serial: B83AE5C2
slot: P1_DIMMA1
size: 8GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:1
description: DIMM Synchronous [empty]
product: Dimm1_PartNum
vendor: Dimm1_Manufacturer
physical id: 1
serial: Dimm1_SerNum
slot: P1_DIMMA2
width: 64 bits
*-bank:2
description: DIMM DDR3 1333 MHz (0,8 ns)
product: 9965516-048.A
vendor: Kingston
physical id: 2
serial: EC309238
slot: P1_DIMMB1
size: 8GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:3
description: DIMM Synchronous [empty]
product: Dimm4_PartNum
vendor: Dimm4_Manufacturer
physical id: 3
serial: Dimm4_SerNum
slot: P1_DIMMB2
width: 64 bits
*-bank:4
description: DIMM DDR3 1333 MHz (0,8 ns)
product: 9965516-048.A
vendor: Kingston
physical id: 4
serial: E9305438
slot: P1_DIMMC1
size: 8GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:5
description: DIMM Synchronous [empty]
product: Dimm7_PartNum
vendor: Dimm7_Manufacturer
physical id: 5
serial: Dimm7_SerNum
slot: P1_DIMMC2
width: 64 bits
*-bank:6
description: DIMM DDR3 1333 MHz (0,8 ns)
product: 9965516-048.A
vendor: Kingston
physical id: 6
serial: E7305738
slot: P1_DIMMD1
size: 8GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:7
description: DIMM Synchronous [empty]
product: Dimm10_PartNum
vendor: Dimm10_Manufacturer
physical id: 7
serial: Dimm10_SerNum
slot: P1_DIMMD2
width: 64 bits
*-memory:1
description: System Memory
physical id: 3f
slot: System board or motherboard
*-bank:0
description: DIMM DDR3 1333 MHz (0,8 ns)
product: 9965516-197.A
vendor: Kingston
physical id: 0
serial: B63A08C3
slot: P2_DIMME1
size: 8GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:1
description: DIMM Synchronous [empty]
product: Dimm1_PartNum
vendor: Dimm1_Manufacturer
physical id: 1
serial: Dimm1_SerNum
slot: P2_DIMME2
width: 64 bits
*-bank:2
description: DIMM DDR3 1333 MHz (0,8 ns)
product: 9965516-048.A
vendor: Kingston
physical id: 2
serial: EA309638
slot: P2_DIMMF1
size: 8GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:3
description: DIMM Synchronous [empty]
product: Dimm4_PartNum
vendor: Dimm4_Manufacturer
physical id: 3
serial: Dimm4_SerNum
slot: P2_DIMMF2
width: 64 bits
*-bank:4
description: DIMM DDR3 1333 MHz (0,8 ns)
product: 9965516-048.A
vendor: Kingston
physical id: 4
serial: E7305938
slot: P2_DIMMG1
size: 8GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:5
description: DIMM Synchronous [empty]
product: Dimm7_PartNum
vendor: Dimm7_Manufacturer
physical id: 5
serial: Dimm7_SerNum
slot: P2_DIMMG2
width: 64 bits
*-bank:6
description: DIMM DDR3 1333 MHz (0,8 ns)
product: 9965516-048.A
vendor: Kingston
physical id: 6
serial: E7305B38
slot: P2_DIMMH1
size: 8GiB
width: 64 bits
clock: 1333MHz (0.8ns)
*-bank:7
description: DIMM Synchronous [empty]
product: Dimm10_PartNum
vendor: Dimm10_Manufacturer
physical id: 7
serial: Dimm10_SerNum
slot: P2_DIMMH2
width: 64 bits
*-memory:2 UNCLAIMED
physical id: 7
*-memory:3 UNCLAIMED
physical id: 9
お気づきのように、バンク#5にはメモリモジュールがありません。だから私の質問は:このメッセージがメモリ障害に関するものであることに同意しますか?もしそうなら、どのモジュールを交換すべきかをどのように見つけることができますか?
これらのエラーは、デバイスのEDAC-エラー検出と訂正edac_mcクラスから発生しています。
受け取っているイベントはCEイベント(修正可能なエラー)です。これらは、DIMMが故障し始めていることを示しています。
EDACは、参照するメモリ行またはチャネルに関する特定の情報を報告していないため、障害が発生するまで、どちらを交換するかを判断することは困難です。
/ sys/devices/system/edac/mc/mc *を見てください。これにより、どの行/ dimmが故障している可能性があるかについて、もう少し詳しく知ることができます。
例えば
ls -s /sys/devices/system/edac/mc/mc0 total 0 0 ce_count 0 csrow1 0 csrow4 0 csrow7 0 reset_counters 0 size_mb 0 ce_noinfo_count 0 csrow2 0 csrow5 0 device 0 sdram_scrub_rate 0 ue_count 0 csrow0 0 csrow3 0 csrow6 0 mc_name 0 seconds_since_reset 0 ue_noinfo_count
ce_countフィールドを見てください。
サイドノート:
システムは引き続き動作できますが、安全性は低下します。 CEを示すメモリDIMMの予防保守と予防的な部品交換により、恐ろしいUE(訂正不能エラー)イベントとシステム「パニック」の可能性を減らすことができます。
edacの詳細はこちら:
一部のベンダーは、特定の期間中のいくつかの修正可能なエラーは害がないと言います。
たとえば、Oracleは、次のいずれかのイベントが発生した場合にDIMMを交換すると述べています。
24を超える修正可能なエラー(CE)は、24時間で1つのDIMMから発生し、他のDIMMはそれ以上のCEを示していません。
修正不可能なメモリエラー(UCE)が原因で、DIMMはBIOSでのメモリテストに失敗します。
UCEが発生し、調査の結果、エラーの原因はメモリにあることが判明しました。
24時間で24のエラーに注意してください。
https://docs.Oracle.com/cd/E19150-01/820-4213-11/dimms.html
また、
複数のDIMMで複数のCEが発生した場合、DIMMを交換する前に、資格のあるSunサポートスペシャリストがCEの他の考えられる原因を排除する必要があります。
最後の点で、HPはメモリエラーを誤検出するのは単なるサーバーファームウェアである可能性があると同様のことを述べています。彼らは、多くの場合、ファームウェアのアップグレードで誤検知アラートが修正されると言います。これは、異なるDIMMからMCEを受け取り始めた場合に特に当てはまる可能性があります。
Mcelogをインストールしてデーモンとして実行すると、より良いレポートを提供できます。それらはまだ謎めいていますが、culrpit DIMMを見つけるためにいくらか多くの情報が必要です。
mcelogは、過剰なメモリエラーのあるページを無効にすることで、リアルタイムの問題を処理することもできます。これにより、マシンを回復できるまで、マシンを長時間実行し続けることができます。