GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana saya mendapat pemberitahuan tentang kesalahan ECC di Linux?

Solusi 1:

mcelog akan memantau pengontrol memori dan melaporkan peristiwa kesalahan memori ke syslog, dan dalam beberapa konfigurasi dapat offline halaman memori buruk. Ini, tentu saja, selain penggunaannya yang biasa untuk memantau pengecualian pemeriksaan mesin dan berbagai kesalahan perangkat keras lainnya.

Sebagian besar distribusi Linux memiliki layanan yang disiapkan untuk menjalankannya sebagai daemon, mis. untuk EL 6:

chkconfig mcelog on
service mcelog start

Solusi 2:

Kernel Linux mendukung fitur deteksi dan koreksi kesalahan (EDAC) dari beberapa chipset. Pada sistem yang didukung dengan ECC, status pengontrol memori Anda dapat diakses melalui sysfs:

/sys/devices/system/edac/mc

Pohon direktori di bawah lokasi tersebut harus sesuai dengan perangkat keras Anda, mis.:

/sys/devices/system/edac/mc/mc0/csrow2/power
/sys/devices/system/edac/mc/mc0/csrow0/power
/sys/devices/system/edac/mc/mc0/dimm2/power
/sys/devices/system/edac/mc/mc0/dimm0/power
/sys/devices/system/edac/mc/mc1/power
...

Bergantung pada perangkat keras Anda, Anda mungkin harus memuat driver edac yang benar secara eksplisit, cf.:

find /lib/modules/$(uname -r) -name '*edac*'

edac-utils package menyediakan frontend baris perintah dan pustaka untuk mengakses data tersebut, misalnya:

edac-util -rfull          
mc0:csrow0:mc#0memory#0:CE:0
mc0:csrow2:mc#0memory#2:CE:0
mc0:noinfo:all:UE:0
mc0:noinfo:all:CE:0
mc1:noinfo:all:UE:0
mc1:noinfo:all:CE:0

Anda dapat menyiapkan semacam cron-job yang memanggil eac-util secara berkala dan memasukkan hasilnya ke dalam sistem pemantauan Anda, tempat Anda kemudian dapat mengonfigurasi beberapa notifikasi.

Selain itu, menjalankan mcelog umumnya adalah ide yang baik. Bergantung pada sistem, tetapi kesalahan ECC yang tidak dapat diperbaiki/dapat diperbaiki kemungkinan juga dilaporkan sebagai pengecualian pemeriksaan mesin (MCE). Maksud saya, bahkan periode singkat pelambatan CPU karena suhu yang lebih tinggi dilaporkan sebagai MCE.

Solusi 3:

Ini tergantung pada perangkat keras server Anda. Kotak putih atau sistem Supermicro akan menangani ini secara berbeda dari Dell, HP, atau IBM...

Salah satu fitur nilai tambah dari server kelas atas adalah adanya tingkat integrasi perangkat keras/OS. Server yang lebih baik akan melaporkan apa yang Anda cari sebagai bagian dari agen manajemen dan/atau solusi manajemen out-of-band (ILO, DRAC, IPMI).

Anda harus menggunakan alat asli platform perangkat keras Anda.

Kutipan dari server HP ProLiant yang menjalankan Linux dan agen Manajemen HP:

Trap-ID=6056
ECC Memory Correctable Errors  detected.

dan

Trap-ID=6052
Advanced ECC Memory  Engaged

atau yang lebih parah

Trap-ID=6029
A correctable memory log entry indicates a memory module needs to be
replaced.

atau yang terburuk... Mengabaikan kesalahan selama 6 hari hingga server mogok karena RAM buruk

0004 Repaired       22:21  12/01/2008 22:21  12/01/2008 0001
LOG: Corrected Memory Error threshold exceeded (Slot 1, Memory Module 1)

0007 Repaired       02:58  12/07/2008 02:58  12/07/2008 0001
LOG: POST Error: 201-Memory Error Single-bit error occured during 
memory initialization, 
Board 1, DIMM 1. Bank containing DIMM(s) has been disabled.

0008 Repaired       19:31  12/08/2009 19:31  12/08/2009 0001
LOG: ASR Detected by System ROM

Ini dicatat, ditambah jebakan SNMP dan email dikirim.

Secara umum, Anda akan melihat Pengecualian Pemeriksaan Mesin di buffer ring kernel, sehingga Anda dapat memeriksa dmesg atau jalankan mcelog. Dalam pengalaman saya dengan peralatan Supermicro tanpa IPMI, itu tidak menangkap semuanya, dan saya masih memiliki kesalahan RAM yang lolos dan menyebabkan pemadaman. Sayangnya, hal ini menyebabkan kebijakan pembakaran RAM kuno sebelum penerapan sistem.

Solusi 4:

rasdaemon paket dibuat sebagai pengganti edac-tools , dan kernel yang lebih baru bahkan tidak mendukung edac-tools atau mcelog .

Pembaruan driver kernel linux EDAC mengubah cara penghitung kesalahan memori dikelola di ruang pengguna, jadi edac-tools dan mcelog secara efektif tidak digunakan lagi.


Linux
  1. Cara Menghapus Cache Memori di Linux

  2. Cara mendapatkan ukuran direktori di Linux

  3. Bisakah Linux menggosok memori?

  1. Mengapa Anda mendapatkan cp:menghilangkan kesalahan direktori di Linux dan bagaimana mengatasinya

  2. Bagaimana cara mendaftar proses yang dilampirkan ke segmen memori bersama di linux?

  3. Bagaimana cara mendapatkan ldapsearch di Scientific Linux?

  1. Cara mengetahui penggunaan memori pengguna di linux

  2. Bagaimana cara mendapatkan nama host dari IP (Linux)?

  3. Bagaimana kesalahan memori bit tunggal memengaruhi Linux?