Я оновив цю посаду, оскільки замінив процесор, але ядро мого питання (і, на жаль, результати) однакові.
Я створив своє перше поле FreeNAS і хотів використовувати ECC RAM, оскільки я хочу зберігати важливі дані. Оскільки я закладаю бюджет, я хотів запропонувати найбільш доступне рішення, яке все ще підтримуватиме оперативну пам’ять ECC.
Провівши деякі дослідження, я виявив, що мені потрібна материнська плата, пам'ять і процесор, що підтримує ECC. Моя вибірна плата - це "Gigabyte X150M-Pro ECC", який має чіпсет C232, DDR4 та розетку LGA1151.
Я також придбав комплект із двох DIMM, виготовлених Kingston, з номером моделі "KVR21E15S8K2 / 8" ( специфікація ). Gigabyte опублікував список перевірених модулів пам'яті, і мої модулі, здається, підтримуються робочим ECC ( список підтримуваних модулів ).
Оскільки я переживаю бюджет, мені потрібен був доступний процесор Skylake, який підтримує ECC. За інформацією Intel, Celeron G3900 підтримує ECC, тому я пішов з цим.
Побудувавши комп’ютер, я хотів переконатися, що моя система справді працює з пам’яттю ECC та ввійшов у BIOS материнської плати. З різних веб-сайтів я дізнався, що на деяких материнських платах є спеціальний розділ, у якому слід вказати, чи працює ECC, але мої материнські плати, схоже, цього не мають. Я перевірив усі меню і не зміг знайти подібний розділ.
Провівши ще кілька досліджень і знайшов пост на Unix & Linux stackexchange, який не вирішив мою проблему. Я спробував останню, memtest86+
яка з того, що я могла сказати, навіть не показує значення "ECC". Я спробував старішу версію 4.20, яку використовували системи Puget, які показали "ECC: вимкнено". Однак, прочитавши раніше згаданий пост, я сумніваюся, що він говорить правду (можливо, саме тому функцію було видалено?). Обидві версії також не прочитали правильну швидкість та затримку DIMM, що додає до моїх сумнівів щодо memtest86+
.
Ще одним популярним способом з’ясувати, чи працює ECC, було видати dmidecode -t memory
команду та прочитати Total Width
і Data Width
. Мої результати були 128 Bits
і 64 Bits
відповідно. В одній частині виводу було показано подробиці про масив пам'яті, який мав пари ключ-значення Error Correction Type: Single-bit ECC
.
Я очікував 72 bits
на Total Width
, тому я подумав, що це може бути пов'язано з двоканальним і перемістив модулі пам'яті на два сусідні слоти, які повинні перешкоджати двоканальному, але результат був таким самим. Ось повний вихід з dmidecode -t memory
.
Я навіть випробував цікаву програму C, яку опублікували Puget-системи, але результат виявив 0
, що не було підтримки ECC.
Тепер я починаю сумніватися, що дані на власному веб-сайті Intel є правильними, а мій процесор насправді не підтримує ECC. І пам'ять, і материнська плата спеціально брендовані "ECC", тому я можу їх виключити.
Чи можливо, що версія BIOS потребує оновлення (на даний момент її немає), щоб включити ECC або ECC насправді вже працює, і я просто не зміг його перевірити? Або мій вибір процесора неправильний, якщо я хочу запустити пам’ять ECC і веб-сайт Intel неправильний / оманливий?
Якщо мій процесор виявиться неправильним вибором, що буде наступним найкращим вибором для "бюджетного процесора ECC"?
ОНОВЛЕННЯ: Я побачив нові вказівки на те, що моя система насправді працює з увімкненою системою ECC, і dmidecode
інструмент відображає дивні дані. На форумі FreeNAS користувач Dusan використовує апаратне забезпечення серверного рівня (SuperMicro MB, процесор Xeon, Kingston DIMM) і має аналогічний вихід 128 Bits
. Але він написав, що не впевнений у собі, якщо це насправді працює.
ОНОВЛЕННЯ 2: Як згадував yagmoth555 у своїй відповіді на це запитання, схоже, моя материнська плата підтримує лише ECC з процесорами Xeon, хоча я вважав, що ця нота є реліктом попередніх посібників, які були скопійовані. Я думаю, це означає, що мені потрібно заглянути в процесор Xeon ..: - /
ОНОВЛЕННЯ 3: Я купив Xeon E3-1220v5, який, звичайно, підтримує ECC і повинен відповідати вимогам посібника. Я знову запустив усі тести, щоб перевірити функціональність ECC, і результати в основному однакові:
З коментарів у Puget Systems, схоже, що ecc_check.c
програма не працює на процесорах Xeon та Core i7 ..: - /
memtest86+
Цього разу я перевірив ще кілька разів, і я впевнений, що він взагалі не підтримує чіпсет DDR4 або C232, оскільки він повідомляє не тільки про неправильну швидкість і терміни, але і про DDR3 замість встановленого DDR4. Однак він виявив процесор просто чудово, але я все-таки отримав однаковий кінцевий результат з обома версіями memtest86+
:
Версія 4.20 навіть не належним чином визначає мій процесор ..
Будь-які вдячності щодо будь-яких ідей, як я можу протестувати на ECC