4

Я перестраиваю трехлетнюю систему AMD Athlon 5000 с материнской платой «ASRock NF7G-FullHD» с 4 слотами памяти, помеченной как "DDR2 800", которая, как говорят, имеет общую оперативную память 8 ГБ. Помимо 550 Вт PS и 500 ГБ диска я купил "подходящую пару" по 2 шт.2 ГБ DIMM, которые, к сожалению, имеют постоянные однобитовые ошибки в нескольких местах (см. Рисунок).

Каков будет эффект запуска Linux на этой системе с такой памятью? То есть, насколько вероятны нестабильность, необнаруженная ошибка или низкая производительность? Будут ли происходить сбои ОС, ошибки, другие сбои приложений или что? Есть ли способ наметить или отключить плохие куски оперативной памяти?

изображение memtest86

Обратите внимание, что 4 слота памяти помечены как DDRII_1,2,3,4; 1 и 2 желтые, 3 и 4 оранжевые. Снимок Memtest86 выше был сделан при заполнении слотов (новый, старый, новый, старый). Ошибки также возникают по аналогичным адресам с порядком заполнения (старый, старый, новый, новый), с той же скоростью доступа к памяти (около 2,9 ГБ / с), что и на рисунке. Заполнено (старое, старое, -, -) или (старое, -, старое, -) или (новое, -, новое, -) ошибок не произошло в течение нескольких часов тестирования, но (новое, новое, -, -) по какой-то причине не попал в или через BIOS и кнопка сброса оказалась безрезультатной и видеосигнала не было. При заполнении 3 слотов, например (new1, old, new0, -), произошла одна ошибка (расположенная в первых ГБ ОЗУ) за 1,5 часа тестирования; с (old, old, new0, -), без ошибок за 2 часа тестирования. Проблема с производительностью 6 ГБ - скорость доступа к памяти всего 1,7 ГБ / с.

Резюме вопроса: Каков будет эффект запуска Linux в этой системе с памятью, подверженной некоторым однобитовым ошибкам? Есть ли другое исправление, кроме замены оперативной памяти?

4 ответа4

8
  1. Скорость доступа к памяти ниже только с 3 чипами, так как двухканальная память всегда должна устанавливаться парами.

  2. Однобитовые ошибки могут вызвать практически все. Насколько это вероятно, зависит от того, насколько плоха ваша память, но не стоит рисковать. На нестабильность системы стоит надеяться. Вы также можете сохранить критический системный файл (или любой другой важный для вас файл) в этой части памяти, изменить его и перезаписать исходный файл. Так что ошибка в один бит может испортить всю вашу ОС.

  3. Скорее всего, неисправен только один из флешек (вероятно, новый1). Память PYG поставляется с пожизненной гарантией, поэтому вы можете попробовать получить работающую. Я слышал очень плохие вещи о памяти PYG и обслуживании клиентов, но я не могу знать наверняка.

5

Как указывалось, ошибка в одном бите памяти может привести к тому, что почти все будет работать неправильно, или вы можете вообще никогда не заметить этого.

Раньше у меня была плохая карта памяти, и плохой момент в оперативной памяти фактически означал, что Windows иногда будет работать, но она будет регулярно портить себя. Вы никогда не сможете предсказать, что будет выделено в какой-либо точке памяти в системе (из-за способа, которым ОС выделяет память), и хотя вам может повезти, и он только сломает какую-то неважную программу или испортит один графический объект, это хорошо вероятность того, что это будет намного хуже, и вы рискуете своими данными из-за плохой памяти.

В Linux есть поддержка BadMem, которая, если я правильно помню, может означать, что вы можете "наметить" плохой блок памяти. Я не мог понять, поддерживает ли оно новейшее ядро, чтобы посмотреть, будет ли оно вам полезно.

Мой совет заключается в следующем: в краткосрочной перспективе будьте готовы к потере данных и общей нестабильности системы, в долгосрочной перспективе вы должны выяснить, какая палка неисправна, и заменить ее.

2

Чтобы иметь возможность запускать программы, компьютер извлекает инструкции о том, что делать из памяти. (программы загружаются в память). Инструкции - это просто числовые последовательности и язык компьютеров.

Давайте создадим простой язык, где 1 = копия, 3 = от, 4 = до

1(копия), 50,3(с), 100,4(с), 200;

Таким образом, числовая последовательность 1,50,3,100,4,200 может для компьютера означать копирование 50 байтов данных из ячейки памяти 100 в ячейку памяти 200. Это то же самое, что вы перемещаете 50 носков из одного ящика в другой.

Теперь, если память работает со сбоями и есть ошибка в одном бите, число может, например, измениться от 1 до 129. Поэтому, предполагая, что любое число в приведенной выше последовательности может быть изменено, вы можете столкнуться с множеством интересных ошибок. Если 50 изменить на 35 или 188 или что-то еще, то довольно легко понять, что объем данных, которые должны быть скопированы, будет неправильным и может перезаписать другие данные (которые могут быть инструкциями) в памяти. если 1 изменить на 5, компьютер может даже не понять, что он вообще должен что-то копировать. Таким образом, как показано, ошибка одного бита может привести не только к одной ошибке, но, возможно, к другим ошибкам, вызванным первой ошибкой.

Linux (или любая другая операционная система) в основном такая же, как и остальные программы, которые запускаются на вашем компьютере: последовательность чисел, указывающая компьютеру, что делать. Если эта последовательность будет повреждена, ваши программы не заставят компьютер делать то, для чего он предназначен, и, таким образом, у вас могут возникнуть всевозможные проблемы.

Также помните, что музыка, видео или изображения - это просто последовательность чисел, поэтому там применяется тот же принцип. Стоит добавить, что в зависимости от вашего файла повреждение может быть незаметным (например, плохой пиксель на изображении), но это не означает, что файл в порядке. В тексте, который вы читаете на веб-странице, может даже быть опечатка, если этот конкретный символ хранится в плохой памяти.

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

Надеюсь, это объясняет, почему любая операционная система не будет работать, если память, содержащая ее данные и / или инструкции, повреждена. Ваш самый безопасный способ решить эту проблему - заменить сломанный баран. Тем временем вы можете захотеть отобразить область плохой памяти, используя параметр ядра memmap (следующее скопировано из ответа, который я получил на другой вопрос).

 memmap=nn[KMG]$ss[KMG]
            [KNL,ACPI] Mark specific memory as reserved.
            Region of memory to be used, from ss to ss+nn.
            Example: Exclude memory from 0x18690000-0x1869ffff
                     memmap=64K$0x18690000
                     or
                     memmap=0x10000$0x18690000
2

У меня была такая же проблема, но я нашел, что доступные ответы запутаны и неполны, поэтому я составил пошаговое руководство, исходя из минимального возможного опыта.

  1. Запустите Memtest86+ на выходе «Badram» (желательно с загрузочного внешнего носителя). При запуске Memtest86+ введите:
  2. «С» («конфигурация»), затем
  3. «4» («Режим отчета об ошибках»), затем
  4. «3» («Bad RAM Patterns»), затем
  5. «0» («Продолжить»).
  6. Скопируйте вывод, который следует за любыми строками, начинающимися с «badram =».
  7. Откройте терминал (командная строка).
  8. Перейдите в каталог, где находится файл «grub». Например, «cd /etc /default».
  9. С привилегиями «root» используйте текстовый редактор, чтобы открыть файл «grub» (если вы не вошли как «root», используйте «sudo». Вас попросят ввести пароль «root».): «Sudo nano grub» (в этом примере пользователь меняется на «root» и открывает файл «grub» в текстовом редакторе «nano».).
  10. Найдите раздел, описывающий memtest.
  11. Раскомментируйте последнюю строку (удалите специальный символ в начале строки, например «#», «>,» или «!»). Это делает его активным (например, «# GRUB_BADRAM =» становится «GRUB_BADRAM =».).
  12. Замените адреса примера (после «GRUB_BADRAM =») на вывод «badram =», который вы скопировали из Memtest86+ (например, «0x98f548a0,0xfffffffc»).
  13. Сохраните (или «запишите») свои изменения.
  14. В терминале (командной строке) обновите файл «grub.cfg», набрав «sudo update-grub».
  15. Перезагружать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .