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


21

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

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

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


1
Да, ECC действительно полезны против мягких ошибок. Мягкая ошибка может привести к сбою системы, если ошибка связана с доступом к памяти. Сообщалось, что одна мягкая ошибка остановила миллиардную индустрию. Вот подробная ссылка для этого.
user984260 12.07.15

Ответы:


10

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

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

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


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


8
«У маленьких серверов whitebox, которые я построил без ECC, рано или поздно возникли« проблемы », которые требовали перезагрузки» - это немного апокрифическое / вуду-вычисление на мой вкус…
Джефф Этвуд

4
И ты думаешь, я не осознаю этого? Как еще можно объяснить то же программное обеспечение на том же оборудовании, имеющее странные проблемы (почта доставляется неправильно), но проблемы устраняются после замены всей оперативной памяти? Мне тоже не нравится эта идея, но, учитывая, что это был единственный важный компонент, который нужно изменить, и объединить его с проблемами, исчезающими после обновления ECC, ну, это трудно игнорировать ...
Avery Payne

1
Я также забыл упомянуть - оперативная память была заменена один раз перед обновлением ECC, и проблема не устранена. Может быть, это был плохой след на Мобо. Возможно, это был недостаток дизайна на доске. Я предполагаю, что в ретроспективе это могло быть много других проблем, каждая из которых потребовала бы, чтобы EE вышел и исследовал сферу, но в конце концов, ECC заставил проблему уйти, если только по какой-то другой причине, кроме как убедитесь, что данные, извлеченные из ОЗУ, находятся в согласованном состоянии на 100%. Джефф, я согласен, что это вуду ... Мне это не нравится, но это так.
Эйвери Пейн

1
@Джефф Этвуд - ну ... в конце концов оказалось, что это было вуду, в том смысле, что вы не можете видеть, что это происходит с вашим компьютером ... см. Cs.toronto.edu/~bianca/papers/sigmetrics09.pdf
Avery Пейн

6

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

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

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

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

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

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

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

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


Сбой влево и вправо? Я не думаю, что это будет так плохо. Интересное повторение: «сбой влево и вправо» ... Но учтите: битовые ошибки могут возникать в нераспределенной ОЗУ (лоты, на недостаточно используемых серверах) или в выделенной памяти, которая вряд ли будет выполнена или на которую будут ссылаться снова до ее освобождения и перераспределения (например, если в мертвом коде есть небольшая ошибка, издает ли он звук?)
Крис В. Ри

Мне также интересно, есть ли у Google что-нибудь сказать об ошибках памяти. Они запускают тонну серверов. Интересно, сколько времени простоя сервера может быть связано с ошибками ОЗУ, а не, скажем, с блоками питания на фрице ...
Крис В. Ри

3

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

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


2

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

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

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

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.