Есть ли определенное или ощутимое преимущество использования ECC RAM на настольном ПК?

3618
Chris W. Rea

Я много беспокоюсь о создании стабильных машин - в том, что я абсолютно ненавижу сбои, перезагрузки, смешное поведение и т. Д. - и поэтому исправление ошибок, или ECC RAM, может решить большую проблему: ошибки памяти.

Но действительно ли это работает? Есть ли измеримое преимущество, например, меньше сбоев или другое поведение?

Помимо стоимости, почему бы не использовать память ECC для новой сборки ПК? Почему функция ECC преимущественно доступна и поддерживается для компьютеров класса сервер / рабочая станция, но не на материнских платах, ориентированных на потребителя?

22
Да, ECC действительно полезны против мягких ошибок. Мягкая ошибка может привести к сбою системы, если ошибка связана с доступом к памяти. Сообщалось, что одна мягкая ошибка остановила миллиардную индустрию. Вот подробный [ссылка] (https://www.academia.edu/12046032/A_Survey_of_Techniques_for_Modeling_and_Improving_Reliability_of_Computing_Systems) для этого. user984260 8 лет назад 1

4 ответа на вопрос

10
Avery Payne

Я использовал ECC RAM в серверах в течение нескольких лет. ECC действительно светит, когда вы интенсивно используете свою машину, например, «она работает более 12-16 часов в день». У маленьких серверов whitebox, которые я создал без ECC, рано или поздно возникли «проблемы», которые требовали перезагрузки, но на машинах ECC их никогда не было.

Так что мой ответ: если вы используете ваш компьютер много, то, скорее всего, да. Если вы используете свой компьютер 24/7, то это должно быть обязательно.

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


Google вышел, качаясь по этому вопросу. См. Http://blogs.zdnet.com/storage/?p=638 о том, как это действительно влияет на современные системы.

«У маленьких серверов whitebox, которые я построил без ECC, рано или поздно возникли« проблемы », которые требовали перезагрузки» - это немного апокрифическое / вуду вычисление на мой вкус… Jeff Atwood 14 лет назад 8
И ты думаешь, я не осознаю этого? Как еще можно объяснить, что * то же самое * программное обеспечение на * том же * оборудовании имеет странные проблемы (почта доставляется неверно), но проблемы устраняются * после * замены всей оперативной памяти? Мне тоже не нравится эта идея, но, учитывая, что это был единственный важный компонент, который нужно изменить, и связать его с тем, что проблемы * исчезли * после обновления ECC, ну, это трудно игнорировать ... Avery Payne 14 лет назад 4
Я также забыл упомянуть - оперативная память была заменена один раз перед обновлением ECC, и проблема не устранена. Может быть, это был плохой след на Мобо. Возможно, это был недостаток дизайна на доске. Я предполагаю, что в ретроспективе это могло быть много других проблем, каждая из которых потребовала бы, чтобы EE вышел и исследовал сферу, но в конце концов, ECC заставил проблему уйти, если только по какой-то другой причине, чем убедитесь, что данные, извлеченные из ОЗУ, находятся в 100% согласованном состоянии. Джефф, я согласен, что это вуду ... Мне это не нравится, но это так. Avery Payne 14 лет назад 1
@Джефф Этвуд - ну ... в конце концов оказалось, что это было вуду, в том смысле, что вы не можете видеть, что это происходит с вашим компьютером ... см. Http://www.cs.toronto.edu/~bianca/papers /sigmetrics09.pdf Avery Payne 14 лет назад 1
6
Jeff Atwood

Я думаю, что ECC стоит использовать только тогда, когда этого требует сервер . Википедия :

Обнаружение и исправление ошибок в компьютерных системах, кажется, входит и выходит из моды. Сеймур Крэй сказал, что «паритет для фермеров», когда его спросили, почему он оставил это в CDC 6600. Он включил паритет в CDC 7600 и по общему мнению сказал: «Я узнал, что многие фермеры покупают компьютеры».

Я не могу найти точный источник в Интернете, кроме туманных заявлений об ошибке в один бит в месяц на гигабайт, что явно смешно; серверы будут грохот влево и вправо во всем мире, если это было отдаленно верно.

Некоторые основные моменты из потока MetaFilter от реальных администраторов сервера:

Я думаю, что ECC - это классная штука, но у меня были серверы как с так и без него, и я никогда не делал, чтобы его присутствие или отсутствие делали что-либо.

Я понимаю назначение ECC RAM, но не в этом суть. Я имею в виду, я никогда не замечал никаких проблем, связанных с переключением битов космических лучей. Даже на серверах персональных вычислений / компиляции с несколькими годами безотказной работы. Не сказать, что биты не перевернулись, но они, конечно, не имели значения.

В моем опыте работы с несколькими тысячами машин здесь и там, у вас больше шансов на то, что Ext3 будет молча рвать вас, чем на проблему, исправляемую ECC.

Лично я думаю, что ECC немного грузоподъемен, но это разумный страховой полис на большом мощном сервере, если надбавка к стоимости не слишком высока.

Грохот влево и вправо? Я не думаю, что это будет так плохо. Интересное повторение: «сбой влево и вправо» ... Но учтите: битовые ошибки могут возникать в нераспределенной ОЗУ (лоты, на недостаточно используемых серверах) или в выделенной памяти, которая вряд ли будет выполнена или на которую будут ссылаться снова до ее освобождения и перераспределения (например, если в мертвом коде есть небольшая ошибка, это издает звук?) Chris W. Rea 14 лет назад 0
Мне также интересно, есть ли у Google что-нибудь сказать об ошибках памяти. Они запускают тонну серверов. Интересно, сколько времени простоя сервера может быть связано с ошибками оперативной памяти, в отличие, скажем, от блоков питания на Fritz ... Chris W. Rea 14 лет назад 0
3
Jason S

Мы рассмотрели это для критических систем. Одна проблема становится, как, черт возьми, вы делаете обнаружение ошибок в программном обеспечении, чтобы проверить целостность вашей памяти, когда программа, используемая для запуска проверки целостности памяти, сама может быть подвержена ошибкам памяти ??? Вы в принципе не можете, и это затрудняет анализ режима отказов / уменьшение отказов, поэтому ECC - это механизм снижения.

Это один из тех случаев, когда в случае возникновения проблем вы можете обвинить космические лучи ;)

2
ijprest

Я бы рассмотрел ECC RAM для «критически важных» приложений. Если из-за ошибки сервера вы потеряете значительные суммы денег (или убьете людей, или что-то еще), смените их на ECC. В общем, взвесьте стоимость оперативной памяти ECC по сравнению с тем, что вы потеряете в случае ошибки.

Но независимо от того, что вы решите, я рекомендую запускать MemTest86 + в течение ночи (или достаточно долго, чтобы сделать несколько проходов по всему адресному пространству). И если вы сможете увеличить нагрев (в буквальном смысле), это даст вам представление о том, как будет работать ваш ОЗУ, когда система сильно нагревается.

У меня были совершенно новые ошибки экспонирования RAM в MemTest. У меня также были "хорошие" ошибки разработки оперативной памяти, которые обнаружил MemTest. Это отличный инструмент, и я первым делом запускаю новую систему.

Похожие вопросы