MC0、行2、およびチャネル0は重要です。CPU0のDIMMA1を交換してください。
例として、完全に実装された16個のDIMMスロットと2つのCPUを搭載したLinuxサーバーで、不良DIMMを特定する必要がありました。これらは私がコンソールで見たエラーです:
EDAC k8 MC1: general bus error: participating processor(local node origin), time-out(no timeout) memory transaction type(generic read), mem or i/o(mem access), cache level(generic)
EDAC MC1: CE page 0x103ca78, offset 0xf88, grain 8, syndrome 0x9f65, row 1, channel 0, label "": k8_edac
EDAC MC1: CE - no information available: k8_edac Error Overflow set
EDAC k8 MC1: extended error code: ECC chipkill x4 error
サーバーの不良DIMMはCPU1のDIMMA0でした。
EDACはError Detection And Correctionの略で、http: //www.kernel.org/doc/Documentation/edac.txtおよび/usr/share/doc/kernel-doc-2.6*/Documentation/drivers/edac/edacに記載されています。私のシステムの.txt(RHEL5)。CEは「訂正可能なエラー」の略であり、ドキュメントに示されているように、「CEはDIMMが故障し始めているという早期の兆候を提供します。」
上記のサーバーのコンソールで見たEDACエラーに戻ると、MC1(メモリコントローラー1)はCPU1を意味し、Linux EDACドキュメントでは行1はcsrow1(チップ選択行1)と呼ばれ、チャネル0はメモリチャネル0を意味します。http: //www.kernel.org/doc/Documentation/edac.txt でチャートをチェックして、csrow1とチャネル0がDIMM_A0(私のシステムではDIMMA0)に対応していることを確認しました。
Channel 0 Channel 1
===================================
csrow0 | DIMM_A0 | DIMM_B0 |
csrow1 | DIMM_A0 | DIMM_B0 |
===================================
===================================
csrow2 | DIMM_A1 | DIMM_B1 |
csrow3 | DIMM_A1 | DIMM_B1 |
===================================
(別の例として、MC0、csrow4、およびチャネル1でエラーが発生した場合は、CPU0のDIMMB2を交換しました。)
もちろん、実際には私のサーバーにはDIMMA0と呼ばれる2つのDIMMスロット(各CPUに1つ)がありますが、MC1エラーはdmidecodeの出力の「Bank Locator」の下にリストされているCPU1に対応しています。
[root@rce-8 ~]# dmidecode -t memory | grep DIMMA0 -B9 -A8
Handle 0x002E, DMI type 17, 27 bytes.
Memory Device
Array Handle: 0x002B
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: DIMM
Set: None
Locator: DIMMA0
Bank Locator: CPU0
Type: DDR2
Type Detail: Synchronous
Speed: 533 MHz (1.9 ns)
Manufacturer:
Serial Number:
Asset Tag:
Part Number:
--
Handle 0x003E, DMI type 17, 27 bytes.
Memory Device
Array Handle: 0x002B
Error Information Handle: Not Provided
Total Width: 72 bits
Data Width: 64 bits
Size: 4096 MB
Form Factor: DIMM
Set: None
Locator: DIMMA0
Bank Locator: CPU1
Type: DDR2
Type Detail: Synchronous
Speed: 533 MHz (1.9 ns)
Manufacturer:
Serial Number:
Asset Tag:
Part Number:
(私のワークステーションでは、dmidecodeは実際にはDIMMの部品番号とシリアル番号を表示します。これは非常に便利です。)
コンソールおよびログでエラーを確認することに加えて、/ sys / devices / system / edacを調べることにより、MC / CPU、行/ csrow、およびチャネルごとのエラーを確認することもできます。私の場合、エラーはMC1、csrow1、チャネル0でのみ発生しました。
[root@rce-8 ~]# grep "[0-9]" /sys/devices/system/edac/mc/mc*/csrow*/ch*_ce_count
/sys/devices/system/edac/mc/mc0/csrow0/ch0_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow0/ch1_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow1/ch0_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow1/ch1_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow2/ch0_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow2/ch1_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow3/ch0_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow3/ch1_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow4/ch0_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow4/ch1_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow5/ch0_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow5/ch1_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow6/ch0_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow6/ch1_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow7/ch0_ce_count:0
/sys/devices/system/edac/mc/mc0/csrow7/ch1_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow0/ch0_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow0/ch1_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow1/ch0_ce_count:6941652
/sys/devices/system/edac/mc/mc1/csrow1/ch1_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow2/ch0_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow2/ch1_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow3/ch0_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow3/ch1_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow4/ch0_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow4/ch1_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow5/ch0_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow5/ch1_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow6/ch0_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow6/ch1_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow7/ch0_ce_count:0
/sys/devices/system/edac/mc/mc1/csrow7/ch1_ce_count:0
この例が、EDACエラーに基づいて不良DIMMを識別しようとしている人にとって役立つことを願っています。詳細については、http: //www.kernel.org/doc/Documentation/edac.txtにあるすべてのLinux EDACドキュメントを読むことを強くお勧めします。