Як сказати, чи працює RAM ECC?


19

Я планую отримати деяку оперативну пам’ять ECC для заміни оперативної пам'яті, яка не є ECC, яку я зараз встановив на материнській платі Asus M5A97 Pro (чіпсет AMD 970, процесор FX-6100).

Як встановити оперативну пам’ять, як дізнатись, чи функціонує функція ECC оперативної пам’яті належним чином?

Я подумав про те, dmidecode --type memoryщо наразі друкує серед інших для кожної пам'яті RAM:

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

(Я б очікував, що при 1 біті ECC на байт ширина даних залишиться 64 біта, але загальна ширина для зчитування 72 біта.)

Чи можна це використовувати для визначення того, чи функціонує ECC? Або dmidecode занадто низький для цього рівень? Що ще я можу використати (окрім очікування та перегляду, якщо в журналах з’являється помилка ECC, яка вказуватиме на те, що вона працює, але не те, що вона не працює)?

Оновлення: пізніше я подумав про edac-утиліти. Встановлюючи їх, я отримую Not enabling Memory Error Detection and Correction since EDAC_DRIVER is not set. Це дало мені edac-utilі edac-ctlвиконавчі файли. Чи можна один із них використовувати для цієї мети?


2
може хтось, хто має більше часу, ніж я, додати частину про ecc_check.c від pugetsystems.com/labs/articles/… до однієї з відповідей?
Costin Gușă

Відповіді:


12

Здається, що немає надійного способу розповісти , однак різні підходи можуть отримати певну відповідь. Мабуть, вам досить доведеться спробувати різні, поки ви не знайдете той, який говорить про те, що ECC працює.

У моєму випадку memtest86 + 4.20 не можна було б пояснити, розуміючи, що він має справу з оперативною пам’яттю ECC; навіть якщо я налаштував його для ECC On, він все ще повідомив ECC: Disabledпро лінію IMC. Я ще не пробував з новою версією. Однак (можливо, після встановлення edac-utils, на жаль, я робив це по суті одночасно), Linux повідомляє у журналах завантаження (перемежовується з деякими іншими записами):

[    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

що є досить хорошим показником. Ручне виконання /etc/init.d/edac restartне створює подібних записів журналу, і дивлячись на старіший журнал з декількох перезавантажень тому, я бачу:

[   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 memoryтакож дає два досить вагомих вказівки: властивість масиву фізичної пам'яті "тип виправлення помилок" (яка, проте, чомусь показала те саме на оперативній пам'яті , що не стосується ECC , тому це може бути пов'язано з підтримкою материнської плати, а не з можливостями пам'яті),

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

і загальна ширина кожного пристрою пам'яті та ширина даних відповідно (додаткові біти використовуються для 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

Існує дуже простий і ефективний спосіб зробити це за умови, що у вас є консольний доступ до вашого сервера / ПК і ви можете перезавантажити його: memtest86 +

Цей чудовий інструмент швидко покаже вам, чи пам'ять увімкнена ECC. Я також вірю, що він виконає перевірку ECC під час фактичного тестування.

Ось (трохи застарілий) скріншот: введіть тут опис зображення


Ідеально! Поки що я бачу IMC : AMD FX(tm)-6100 Six-Core Processor (ECC : Disabled)і ECC off. Я вважаю , то , що , якщо він показує нічого, крім Disabledі offдля ECC з новими модулями DIMM, я весь набір, наскільки апаратні йде , по крайней мере?
CVn

2
@ MichaelKjörling Я маю справу лише з ECC на стандартних серверах із процесорами Xeon, тому я не маю уявлення. Я можу уявити, що процесору потрібно підтримувати ECC, оскільки в ньому знаходиться контролер пам'яті.
pauska

en.wikipedia.org/wiki/… перераховує FX-6100 як Zambezi (на базі бульдозера), з яких "всі моделі підтримують ... ECC [ОЗУ]"
CVn

На жаль, memtest86 + 4.20, схоже, не хотів визнати мою оперативну пам’ять ECC. Однак є деякі інші досить сильні свідчення того, що ECC працює; дивіться мою відповідь. Все-таки дуже дякую!
CVn

1
Це виглядає як щось відповідне - confluence.wartungsfenster.de/display/Adminspace/…
Faheem Mitha
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.