Чи використовуєте ви оперативну пам'ять ECC на робочій станції?


21

Чи рекомендується оперативна пам'ять ECC для використання на робочих станціях, або це щось, що використовується тільки на серверах? Якщо оперативна пам’ять, яка не є ECC, працює на ПК, навіщо нам взагалі потрібна оперативна пам’ять ECC?

Відповіді:


25

Оскільки речі зберігаються, залишаються та з часом витягуються з оперативної пам’яті, природно виникає деяка корупція (теорії різняться, але найпопулярніша зараз - це EMI ​​від самого комп’ютера). ECC - це особливість оперативної пам'яті та материнських плат, що дозволяє виявити та виправити цю пошкодження.

Корупція, як правило, незначна (ECC зазвичай може виявити та виправити 1-2 біта на 64-бітне "слово" - і це waaaaay перевищує типові показники помилок), але збільшується частотою з щільністю оперативної пам'яті. Ваша середня робоча станція / ПК ніколи цього не помітить. На сервері, де ви працюєте з оперативною пам’яттю високої щільності 24/7 у середовищі з великим попитом, що обслуговує критичні послуги, ви вживаєте кожного кроку, який, можливо, можете запобігти руйнуванню матеріалів.

Також зауважте, що оперативна пам'ять ECC повинна підтримуватися вашою материнською платою, а середня робоча станція / ПК не підтримує її.

Оперативна пам’ять ECC дорожча, ніж не-ECC, набагато чутливіша до тактової швидкості і може спричинити невеликий (1-2%) показник продуктивності. Якщо це допомагає, аналогія, яка працює, - це оперативна пам'ять для контролерів RAID. На вашому ПК цей апаратний RAID, вбудований у ваш чіпсет, є чудовим захистом від збоїв на одному диску. На сервері цього ніколи не вистачить. Вам потрібен високоякісний, повністю забезпечений батареєю RAID з вбудованою оперативною пам’яттю, щоб не втратити дані через відключення живлення, збій диска чи що завгодно.

Так що ні, вам не дуже потрібна оперативна пам'ять ECC на робочій станції. Вигода просто не виправдає ціну.


2
Як також зазначалося у відповіді Василя Бурка , ціни в ці дні значно зблизилися (коли я дивився останній раз, різниця в ціні становила ~ 10%, якого ви очікували від додаткової площі чіпа, за ту ж корисну кількість оперативної пам’яті) . Можливо, варто врахувати, зокрема, останнє речення з огляду на це.
CVn

10

Якщо в цій статті є що інше, то вам слід використовувати оперативну пам’ять ECC.

Це не лише питання "я не запускаю сервер, тому мені це не потрібно". Це залежить від того, наскільки ви цінуєте свої дані. Це не лише питання випадкових збоїв - проблема полягає в тому, що ви можете отримати корупцію і не можете знати, що це відбувається.


3
Зі статті: "[...] 4 Гб оперативної пам’яті має 96% відсотків шансу отримати трохи помилки за три дні без ECC RAM". Це здається, що комп'ютери повинні постійно виходити з ладу, і дані повинні постійно пошкоджуватися. І все ж, схоже, всі справляються непогано без ECC ... чому?
Калімо

1
Це тому, що ця стаття помилкова, коли мова йде про рівень помилок. Фактичний показник помилок нижчий на багато порядків. Дивіться відповідну тему reddit reddit.com/r/programming/comments/ayleb/…
mimrock

Незалежно від рівня помилок, залежить і те, на що впливає. Швидше за все, це не те, що викликає збій системи.
судо

8

ECC RAM стає цікавішим у міру збільшення розмірів пам'яті. Імовірність однієї бітової помилки в машині з 8 ГБ оперативної пам’яті є набагато вищою, ніж це було за часів 640K ПК / XT, просто через більшу кількість біт. На сервері баз даних, де ця оперативна пам'ять може знаходитися в буфері диска, бітова помилка може також пошкодити накопичувач диска. Як правило, ви можете розраховувати на використання ECC-пам'яті на сервері.

Деякі робочі станції (зокрема, такі, що мають процесори Xeon або Opteron), мають зареєстровану пам'ять, яка в будь-якому разі є лише в ароматах ECC. На настільному ПК ви можете розцінювати це як надмірну кількість.


4

Оперативна пам'ять ECC призначена для запобігання та виправлення помилок на основі пам'яті, як правило, використовуючи якийсь код забивання або модульну надмірність. Це дуже корисно на серверах, які містили важливі дані або потребують високої доступності, але це коштує дорого.

Незважаючи на те, що, напевно, варто доплатити ваші важливі сервери, чи дійсно ви хочете зробити це для своєї настільної машини, чи не має значення, якщо час від часу виникає помилка пам'яті? Звичайно, це має значення, якщо ваша база даних SQL скидає деякі дані під час транзакції, але чи хвилюєтесь ви, чи ваш текст слова впливає на незначний пробіл пам'яті?


4

Якщо ви хочете отримати надійну робочу станцію, тоді вам потрібна оперативна пам'ять ECC. Він буде виходити з ладу рідше, і робота над ним, а також документи, кешовані в оперативній пам’яті, не будуть випадково пошкоджені.


4
Це здається незмірно малим шансом на покращення стабільності. Єдині збої оперативної пам’яті, про які я знаю на робочих станціях, пов’язані з поганою оперативною пам’яттю або поганими програмами, ніколи не перешкоджали ECC. Це має певний сенс (читайте: все-таки лише крихітний шматочок) сенсу на серверах, де ви постійно хрустіть терабайти даних, але на робочих станціях, можливо, єдине, що наближається - це високоякісний перегляд графіки або обробка відео. Коротше кажучи, я думаю, що ви можете отримати повністю надійну робочу станцію без оперативної пам'яті ECC.
Кріс Торп

Я бігав memtest86 кілька разів за ніч без жодної помилки. Ось як часто відбувається перегортання пам'яті ... Якщо життя залежить від цього, це могло б виправдати використання ECC, інакше я не думаю, що це справжнє питання у 99,9% випадків. Дуже малоймовірно, що 1 випадковий біт на місяць потрапить на щось критичне в терабайте даних.
inf3rno

Ofc. ZFS - виняток.
inf3rno

1
@ inf3rno Це аргумент? За ніч - нічого. Висота має значення. Я живу в Колорадо і в системі ECC бачу кілька виправних помилок щомісяця. Поверніться з журналами з системи ECC або у вас немає інформації. Читайте також звіт Google про помилки ECC.
Зан Лінкс


4

Додатковою перевагою ECC в порівнянні з вищезгаданим є те, що ви можете виявити погану ОЗУ. Під час тривалого сеансу memtest86 зазвичай виникають будь-які проблеми, з ОЗП можуть виникнути дуже специфічні проблеми, які з’являються лише рідко і в певних випадках використання. Це все ще може траплятися набагато частіше, ніж корупція, завдяки якій ідеально хороша оперативна пам’ять ECC призначена для захисту - можливо, раз на місяць. Тож якщо ви встановите програмне забезпечення для моніторингу, ви можете бути впевнені, що ваша оперативна пам'ять хороша або замінить погані мікросхеми. Все-таки гранична вигода, але оскільки ECC-пам'ять не набагато дорожча, ніж звичайна оперативна пам’ять, вона, можливо, того варта.


1

Зараз пам'ять ECC коштує приблизно стільки ж, скільки і не-ECC, оскільки ціни знизилися. Тож перевіряйте ціни; якщо ціни десь близькі, купуйте ECC, якщо ваша робоча станція вміщує його.


1

Я думаю, що може виникнути деяка плутанина саме на основі назви питання.

Якщо ви просто маєте на увазі середній настільний ПК, то це, як правило, базується на платформі, яка навіть не має підтримки ECC.

Якщо ви маєте на увазі комп'ютер класу робочих станцій , то, швидше за все, це стосується пам’яті ECC, незалежно від того, переймаєтесь ви цим чи ні.
Загалом клас робочих станцій, як правило, базується на серверному апаратному забезпеченні, але з належною графікою та упакований у інший форм-фактор.

Очікуване навантаження також є більш податковою, ніж настільний ПК, тому якщо ви визнаєте, що ECC має сенс для серверів, то я думаю, що це не так сильно, що ECC має сенс і для робочих станцій.

Для настільних ПК існують певні дебати, чи має сенс ECC чи ні. Можна абсолютно стверджувати, що все повинно мати ECC, але зараз це не практично, оскільки галузь вирішила зробити ECC функцією для диференціації апаратних засобів більш високого класу.


0

Відповідно до статті Zan Lynx, зв'язаної у коментарях: Помилки DRAM у дикій природі: велике масштабне поле дослідження , помилки, які не можна виправити, є загальними, тоді як випадкові виправні помилки рідко трапляються в системі. Захворюваність, ймовірно, кілька за рік, але це залежить від використання.

Тож у серверному середовищі виправлені помилки можуть бути не такі важливі, але ви сервісно завантажуєте серверні машини, тому непоправні помилки, спричинені збоєм оперативної пам’яті, можуть бути виявлені на деякий час, пошкоджуючи ваші дані. Я думаю, що це головна причина, чому серверам потрібен ECC. Робочі станції завантажуються і тому часто перевіряють оперативну пам’ять, тому помилки обладнання можуть бути виявлені при кожному перезавантаженні. Якщо ця частота є достатньою для вашого бізнесу, то, я думаю, вам не знадобиться оперативна пам’ять ECC на робочій станції.

Якщо ми говоримо про помилки пам'яті, то важливіші версії важливих документів на сервері. Отже, якщо робоча станція щось читає і змінює, то оригінальний вміст не повинен бути перезаписаний на сервері. Регулярні резервні копії можуть зробити те ж саме.

Інший аспект цього питання - безпека. Якщо ваша робоча станція підключена до будь-якої незахищеної мережі, вона може бути вразлива для атаки молотком рядків , яка використовує явище, пов'язане з DRAM. Тож з точки зору безпеки краще використовувати оперативну пам’ять ECC.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.