Как определить, работает ли RAM ECC?

19

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

Как мне узнать, работает ли функция ECC в ОЗУ после установки ОЗУ ?

Я думал о том, dmidecode --type memoryчто в настоящее время печатает среди прочего для каждой карты памяти:

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

(Во-первых, я ожидаю, что при 1 бите ECC на байт ширина данных останется 64-битной, а общая ширина - 72-битной.)

Можно ли это использовать для определения работоспособности ECC? Или dmidecode слишком низкий уровень для этого? Что еще я мог бы использовать (кроме ожидания и проверки, если в журналах появляется ошибка ECC, которая указывает на то, что она работает, но не на то, что она не работает)?

Обновление: позже я подумал об edac-utils. Установив их, я получаю Not enabling Memory Error Detection and Correction since EDAC_DRIVER is not set. Это дало мне edac-utilи edac-ctlисполняемые файлы. Можно ли использовать один из них для этой цели?

CVn
источник
2
Может ли кто-то, у кого больше времени, чем я, добавить часть о ecc_check.c из pugetsystems.com/labs/articles/… в один из ответов?
Костин Гуцэ

Ответы:

12

Похоже, что нет верного способа сказать , однако различные подходы могут дать вам какой-то ответ. Очевидно, вам придется попробовать разные, пока не найдете тот, который говорит вам, что ECC работает.

В моем случае memtest86 + 4.20 нельзя было убедить, что он имеет дело с ECC RAM; даже если я настроил его для 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
CVn
источник
5

Существует очень простой и эффективный способ сделать это при условии, что у вас есть консольный доступ к вашему серверу / ПК и вы можете перезагрузить его: memtest86 +

Этот отличный инструмент быстро покажет вам, включена ли память ECC. Я также считаю, что он будет выполнять проверку ECC при проведении реального тестирования.

Вот (немного устаревший) скриншот: введите описание изображения здесь

pauska
источник
Отлично! На данный момент я вижу 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 [RAM]»
CVn
К сожалению, memtest86 + 4.20, похоже, не хочет распознавать мою RAM как ECC. Тем не менее, есть и другие довольно убедительные признаки того, что ECC работает; смотри мой ответ. Тем не менее, большое спасибо!
CVn
1
Это выглядит уместно - confluence.wartungsfenster.de/display/Adminspace/…
Фахим Мита