Jak stwierdzić, czy działa RAM ECC?


19

Planuję zdobyć trochę pamięci ECC RAM, aby zastąpić pamięć RAM inną niż ECC, którą aktualnie zainstalowałem na płycie głównej Asus M5A97 Pro (mikroukład AMD 970, procesor FX-6100).

Po zainstalowaniu pamięci RAM, jak sprawdzić, czy funkcja ECC RAM działa poprawnie?

Pomyślałem o tym, dmidecode --type memoryktóre obecnie drukuje między innymi dla każdej pamięci RAM:

Error Information Handle: Not Provided
Total Width: 64 bits
Data Width: 64 bits

(Po pierwsze, spodziewałbym się, że przy 1 bicie ECC na bajt szerokość danych pozostanie 64-bitowa, ale całkowita szerokość to 72 bity).

Czy można tego użyć do ustalenia, czy ECC działa? A może kod dmidecode jest na to za niski? Czego jeszcze mogę użyć (oprócz czekania i sprawdzania, czy w dziennikach pojawia się błąd ECC, co wskazywałoby, że działa, ale nie oznacza, że ​​nie działa)?

Aktualizacja: Później pomyślałem o edac-utils. Instaluję je, rozumiem Not enabling Memory Error Detection and Correction since EDAC_DRIVER is not set. To dało mi edac-utili edac-ctlpliki wykonywalne. Czy jednego z nich można użyć do tego celu?


2
czy ktoś, kto ma więcej czasu niż ja, może dodać część o ecc_check.c z pugetsystems.com/labs/articles/… do jednej z odpowiedzi?
Costin Gușă

Odpowiedzi:


12

Wydaje się, że nie ma pewnego sposobu, aby to stwierdzić , jednak różne podejścia mogą dać ci jakąś odpowiedź. Najwyraźniej musisz wypróbować różne, aż znajdziesz taki, który mówi, że ECC działa.

W moim przypadku nie można było nakłonić memtest86 + 4.20 do uświadomienia sobie, że ma do czynienia z pamięcią RAM ECC; nawet jeśli skonfigurowałem go dla ECC On, nadal ECC: Disabledraportuje na linii IMC. Nie próbowałem jeszcze z nowszą wersją. Jednak (prawdopodobnie po zainstalowaniu edac-utils, niestety zrobiłem oba zasadniczo w tym samym czasie), Linux raportuje w dziennikach rozruchu (przeplatane innymi wpisami):

[    4.867198] EDAC MC: Ver: 2.1.0
...
[    4.874374] MCE: In-kernel MCE decoding enabled.
[    4.875414] AMD64 EDAC driver v3.4.0
[    4.875438] EDAC amd64: DRAM ECC enabled.
...
[    4.875542] EDAC amd64: CS0: Unbuffered DDR3 RAM
[    4.875545] EDAC amd64: CS1: Unbuffered DDR3 RAM
[    4.875546] EDAC amd64: CS2: Unbuffered DDR3 RAM
[    4.875548] EDAC amd64: CS3: Unbuffered DDR3 RAM

co jest całkiem dobrym wskazaniem. Ręczne wykonywanie /etc/init.d/edac restartnie tworzy podobnych wpisów w dzienniku, a patrząc na starszy dziennik z kilku restartów temu, widzę:

[   13.886688] EDAC MC: Ver: 2.1.0
[   13.890389] MCE: In-kernel MCE decoding enabled.
[   13.891082] AMD64 EDAC driver v3.4.0
[   13.891107] EDAC amd64: DRAM ECC disabled.
[   13.891116] EDAC amd64: ECC disabled in the BIOS or no ECC capability, module will not load.
[   13.891117]  Either enable ECC checking or force module loading by setting 'ecc_enable_override'.
[   13.891118]  (Note that use of the override may cause unknown side effects.)

dmidecode --type memorydaje również dwa dość mocne wskazania: właściwość „typu korekcji błędów” tablicy pamięci fizycznej (która jednak z jakiegoś powodu pokazała to samo w pamięci RAM innej niż ECC , więc może to być związane ze wsparciem płyty głównej, a nie możliwościami pamięci),

Handle 0x0026, DMI type 16, 23 bytes
Physical Memory Array
    Location: System Board Or Motherboard
    Use: System Memory
    Error Correction Type: Multi-bit ECC

oraz odpowiednio całkowitą szerokość i szerokość danych każdego urządzenia pamięci (dodatkowe bity to te używane w ECC):

Handle 0x0028, DMI type 17, 34 bytes
Memory Device
    Array Handle: 0x0026
    Error Information Handle: Not Provided
    Total Width: 72 bits
    Data Width: 64 bits

5

Jest to bardzo prosty i skuteczny sposób, aby to zrobić, pod warunkiem, że masz dostęp do konsoli serwera / komputera i możesz go zrestartować: memtest86 +

To fajne narzędzie szybko pokaże, czy pamięć obsługuje ECC. Wierzę również, że przeprowadzi walidację ECC podczas przeprowadzania rzeczywistych testów.

Oto (nieco nieaktualny) zrzut ekranu: wprowadź opis zdjęcia tutaj


Doskonały! Na razie widzę IMC : AMD FX(tm)-6100 Six-Core Processor (ECC : Disabled)i ECC off. Przypuszczam więc, że jeśli pokazuje coś innego niż Disabledi offdla ECC z nowymi modułami DIMM, to wszystko jest ustawione tak daleko, jak sprzęt sięga?
CVn

2
@ MichaelKjörling Zajmuję się ECC tylko na standardowych serwerach z procesorami Xeon, więc nie mam pojęcia. Mogę sobie wyobrazić, że procesor musi obsługiwać ECC, ponieważ kontroler pamięci znajduje się w nim.
pauska

en.wikipedia.org/wiki/... wymienia FX-6100 jako Zambezi (na bazie spychacza), z których „wszystkie modele obsługują ... ECC [RAM]”
CV z

Niestety memtest86 + 4.20 nie chciał rozpoznać mojej pamięci RAM jako ECC. Istnieją jednak inne mocne sygnały, że ECC działa; zobacz moją odpowiedź. Mimo to bardzo dziękuję!
CVn

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.