Устранение ошибок памяти

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

В первую очередь необходимо иметь под рукой несколько диагностических программ. Обратите внимание, что некоторые ошибки памяти могут быть выявлены одной программой и невидимы для другой. При включении компьютера каждая системная BIOS проверяет память. В большинстве случаев проблемы с памятью могут быть выявлены на этом этапе. В более сложных ситуациях необходимо применять другие диагностические средства. Практически все современные диагностические программы имеют модуль тестирования памяти.

При запуске компьютера POST не только проверяет память, но и вычисляет ее объем. Затем этот объем памяти сравнивается с записанным в параметрах BIOS, и в случае несоответствия генерируется сообщение об ошибке. Если в процессе работы POST при проверке памяти появляется ошибка, то BIOS генерирует звуковой сигнал, параметры которого указывают на причину ошибки.


Если система загружается нормально, но в процессе работы появляются ошибки, необходимо воспользоваться диагностическими программами. Если и в процессе диагностики с помощью программных средств не выявлена причина ошибки, то воспользуйтесь тестерами модулей SIMM/DIMM для более детальной проверки работоспособности памяти. С помощью этих устройств можно проверить те параметры, которые нельзя проверить диагностическими программами.

Чаще всего память служит причиной следующих ошибок:

* ошибки четности, генерируемые системной платой;

* ошибки типа general protection fault, вызванные повреждением данных запущенной программы в памяти, что приводит к остановке приложения;

* ошибки типа fatal exception, возникающие при выполнении программой недопустимых инструкций;

* ошибки деления, вызванные попыткой деления на нуль, которая приводит к ошибке записи результата в регистр памяти.

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