Некоторые пользователи могут столкнуться с внезапно появившимся на экране сообщением «Инструкция по адресу XXX обратилась к памяти по адресу XXX. Память не может быть «read»». Вместо XXX в данном сообщении обычно располагается совокупность каких-либо чисел и букв, ничего не говорящая пользователю. В данном материале я поясню, в чём суть данной дисфункции, и как её исправить.
Содержание статьи:
- 1 «Память не может быть read» – специфика дисфункции
- 2 Как исправить ошибку Инструкция по адресу * обратилась к памяти по адресу *. Память не может быть «read»
- 2.1 Способ №1. Увеличьте объём виртуальной памяти
- 2.2 Способ №2. Деинсталлируйте нестабильно работающие программы
- 2.3 Способ №3. Обновите драйвера к вашим устройствам, установите обновления для вашей ОС
- 2.4 Способ №4. Выполните откат системы на стабильную раннюю точку
- 2.5 Способ №5. Выполните проверку целостности системных файлов.
- 2.6 Способ №6. Отключите функцию предотвращения выполнения данных (DEP)
- 3 Заключение
«Память не может быть read» – специфика дисфункции
Как следует из текста упомянутого сообщения, оно сигнализирует о наличии проблем с памятью, информация с которой не может быть считана по определённым причинам. Обычно это связано с ситуацией, при которой какое-либо приложение попыталось прочесть информацию, находящуюся в определённой странице памяти, не вышло этого выполнить, вследствие чего пользователь получил сообщение о возникшей ошибке.
Причины, по которым некая страница памяти оказалась заблокированной для нужного приложения, могут быть довольно различными. Это может быть некорректная работа планок памяти, устаревшие драйвера к системным устройствам, недостаточный объём файла подкачки, аппаратный конфликт устройств, нарушение целостности системных файлов, «осыпание» винчестера, множество других релевантных факторов.
Как исправить ошибку Инструкция по адресу * обратилась к памяти по адресу *. Память не может быть «read»
Для исправления дисфункции существует несколько эффективных решений, ниже я разберу каждое из них.
Способ №1. Увеличьте объём виртуальной памяти
Часто встречающейся причиной рассматриваемой дисфункции является недостаточный объём файла подкачки (виртуальной памяти).
- Для увеличения данного объёма нажмите на кнопку «Пуск», в строке поиска введите sysdm.cpl, и нажмите ввод.
- Перейдите во вкладку «Дополнительно», рядом с опцией «Быстродействие» нажмите на «Параметры».
- Далее выберите вкладку «Дополнительно», и рядом с параметром «Виртуальная память» нажмите на «Изменить».
- В открывшемся окне виртуальной памяти снимите галочку с опции «Автоматически выбирать объём файла подкачки».
- Затем активируйте опцию «Указать размер», и установите объём файла подкачки вдвое больший, нежели установлено памяти на вашем ПК (к примеру, если у вас 2048, то установите исходный и максимальный размер файла подкачки на 4096). З
- После этого нажмите на «Задать» — «Ок», и перезагрузите ваш ПК.
Пример:
У одного из пользователей во время работы одной игровой программы появилось сообщение «Инструкция по адресу «0x18797ca7» обратилась к памяти по адресу «0x000000». память не может быть «read»». После применения различных способов борьбы с ошибкой пользователь вдвое увеличил файл подкачки, после чего проблема была решена.
Способ №2. Деинсталлируйте нестабильно работающие программы
Если проблема возникла после установки какой-либо внешней программы, то есть вероятность, что данная программа работает нестабильно. Попробуйте поискать альтернативную версию данной программы (к примеру, репак другого автора), и установить её взамен проблемного софта. Если же мы имеем делом с программой-антивирусом или программой-брандмауэром, то попробуйте на время отключить указанный софт, дабы убедиться, что он не является катализатором возникновения проблемы.
Также стоит временно отключить недавно установленные расширения и дополнения для вашего браузера, так как их некорректная работа может вызывать различные проблемы при работе с памятью ПК.
Способ №3. Обновите драйвера к вашим устройствам, установите обновления для вашей ОС
Устаревшие драйвера к аппаратным компонентам системы, как и отсутствие необходимых обновлений для ОС Виндовс, может являться причиной возникновения рассматриваемой проблемы. Установите на вашу ОС все необходимые ей свежие обновления, а для аппаратных составляющих – все свежие драйвера. В установке последних могут помочь такие специальные программы для обновления драйверов уровня «DriverPack Solution»и других аналогов.
Способ №4. Выполните откат системы на стабильную раннюю точку
Довольно действенным способом борьбы с данной проблемой является откат системы на стабильную точку восстановления, при которой упомянутых проблем не наблюдалось.
- Для осуществления данной операции нажмите на кнопку «Пуск», в строке поиска введите rstrui, и нажмите ввод.
- Выберите стабильную точку восстановления, и откатите систему на указанное состояние.
Способ №5. Выполните проверку целостности системных файлов.
В случае, если некоторые системные файлы повреждены, у системы могут возникать проблемы при работе с памятью. Для проверки целостности системных файлов рекомендую использовать функционал утилиты sfc, для чего запустите командную строку от имени администратора, в ней введите:
sfc /scannow
И нажмите ввод. Дождитесь окончания процедуры, а затем перезагрузите компьютер.
Способ №6. Отключите функцию предотвращения выполнения данных (DEP)
Системная функция DEP (от Dáta Execútion Prevéntion – предотвращение выполнения данных), имеющаяся в ОС Виндовс, призвана препятствовать приложениям в выполнении кода, расположенного в «закрытых» областях памяти. При отключении данной функции она перестанет мешать упомянутым приложениям, что в ряде случаев поможет избежать ошибки «Инструкция по адресу * обратилась к памяти по адресу *. Память не может быть «read»».
- Чтобы выключить (или ограничить) работу данной функции нажмите на кнопку «Пуск», в строке поиска введите sysdm.cpl, и нажмите ввод.
- В открывшемся окне свойств системы перейдите во вкладку «Дополнительно», рядом с опцией «Быстродействие» нажмите на «Параметры».
- Здесь перейдите на вкладку «Предотвращение выполнения данных», активируйте опцию «Включить DEP для всех…, кроме..», нажмите на «Добавить» внизу, и укажите системе путь к исполняемому файлу программы, при работе которой вылетает рассматриваемая ошибка.
- После этого нажмите на «Применить», и перезагрузите ваш ПК.
Теперь DEP будет работать для всех программ, кроме указанной вами.
Если же вы хотите полностью отключить DEP, тогда запустите командную строку от имени администратора, и там наберите:
bcdedit.exe/set {current} nx AlwaysOff
Заключение
Причиной ошибки «Память не может быть read» могут быть различные факторы, описанные мной выше. Для решения проблемы выполните весь комплекс перечисленных выше советов, уделив особое внимание увеличению объёма виртуальной памяти и работе с «DEP» – это поможет исправить рассматриваемую в статье ошибку на вашем ПК.