Kami sering mendapatkan DIMM di server kami menjadi buruk dengan kesalahan berikut di syslog:
7 Mei 09:15:31 nolcgi303 kernel: EDAC k8 MC0: kesalahan bus umum: prosesor yang berpartisipasi (respons simpul lokal), waktu-habis (tanpa batas waktu) jenis transaksi memori (baca generik), mem atau i / o (akses mem) , level cache (generik) 7 Mei 09:15:31 nolcgi303 kernel: MC0: CE halaman 0xa0, offset 0x40, grain 8, syndrome 0xb50d, baris 2, channel 0, label "": k8_edac 7 Mei 09:15:31 nolcgi303 kernel: MC0: CE - tidak ada informasi tersedia: k8_edac Error Overflow set 7 Mei 09:15:31 nolcgi303 kernel: EDAC k8 MC0: kode kesalahan yang diperluas: ECC chipkill x4 error
Kita dapat menggunakan HP SmartStart CD untuk menentukan DIMM mana yang memiliki kesalahan tetapi itu mengharuskan server keluar dari produksi. Apakah ada cara yang cerdik untuk mengetahui DIMM mana yang bust ketika server menyala? Semua server kami adalah perangkat keras HP yang menjalankan RHEL 5.
Jawaban:
Selain menggunakan kode EDAC, Anda dapat menggunakan utilitas HP hanya CLI untuk menentukan ini saat mesin online. Versi cli jauh lebih ringan daripada yang berbasis web dan tidak mengharuskan Anda untuk membuka port atau memiliki daemon yang terus berjalan.
hpasmcli akan memberi Anda kartrid dan modul dari modul yang gagal. Sedikit lebih cepat daripada menganalisis EDAC.
Contoh:
Status akan berubah untuk modul yang gagal.
sumber
MC0, baris 2, dan saluran 0 adalah signifikan. Coba ganti DIMMA1 pada CPU0.
Sebagai contoh, saya harus mengidentifikasi DIMM buruk di server Linux dengan 16 slot DIMM terisi penuh dan dua CPU. Ini adalah kesalahan yang saya lihat di konsol:
DIMM buruk di server saya adalah DIMMA0 di CPU1.
EDAC adalah singkatan dari Deteksi Kesalahan dan Koreksi dan didokumentasikan di http://www.kernel.org/doc/Documentation/edac.txt dan /usr/share/doc/kernel-doc-2.6*/Documentation/drivers/edac/edac .txt di sistem saya (RHEL5). CE adalah singkatan dari "kesalahan yang dapat diperbaiki" dan seperti yang ditunjukkan dalam dokumentasi, "CE memberikan indikasi awal bahwa DIMM mulai gagal."
Kembali ke kesalahan EDAC di atas yang saya lihat di konsol server saya, MC1 (Memory Controller 1) berarti CPU1, baris 1 disebut sebagai csrow1 (Chip-Select Row 1) dalam dokumentasi Linux EDAC, dan saluran 0 berarti saluran memori 0 Saya memeriksa grafik di http://www.kernel.org/doc/Documentation/edac.txt untuk melihat bahwa csrow1 dan Channel 0 berhubungan dengan DIMM_A0 (DIMMA0 pada sistem saya):
(Sebagai contoh lain, jika saya melihat kesalahan pada MC0, csrow4, dan Channel 1, saya akan mengganti DIMMB2 pada CPU0.)
Tentu saja, sebenarnya ada dua slot DIMM yang disebut DIMMA0 di server saya (satu untuk setiap CPU), tetapi sekali lagi kesalahan MC1 sesuai dengan CPU1, yang terdaftar di bawah "Bank Locator" di output dari dmidecode:
(Di workstation saya, dmidecode sebenarnya menunjukkan Nomor Bagian dan Nomor Seri untuk DIMM saya, yang sangat berguna.)
Selain melihat kesalahan pada konsol dan log, Anda juga dapat melihat kesalahan per MC / CPU, baris / csrow, dan saluran dengan memeriksa / sys / devices / system / edac. Dalam kasus saya kesalahannya hanya pada MC1, csrow1, saluran 0:
Saya harap contoh ini bermanfaat bagi siapa pun yang mencoba mengidentifikasi DIMM yang buruk berdasarkan kesalahan EDAC. Untuk informasi lebih lanjut, saya sangat merekomendasikan membaca semua dokumentasi Linux EDAC di http://www.kernel.org/doc/Documentation/edac.txt
sumber
MC0: UE row 0, channel-a= 2 channel-b= 3
.