Категория: Инструкции
Память не может быть read
Сегодня мы поговорим о решении такой распространенной проблемы как ошибка памяти чтения\записи, в результате которой появляется окно с сообщением о том, что память не может быть read \written.
Причина данной ошибки достаточно простая. Дело в том, что для каждой программы выделяется определенное место в виртуальной памяти и когда программа пытается прочитать или записать информацию на место вне её пределах, появляется ошибка чтения\записи.
На самом деле единого и правильного решения этой проблемы не существует, так как данная проблема связана с некорректно работающим ПО, а не с ошибками внутри самой операционной системы.
Для того, что бы устранить эту ошибку будем использовать сразу несколько самых эффективных способов:
1. Если ошибка памяти возникает из-за установленного в системе программного обеспечения, а это можно определить с названия ошибки:
Дляустранения неполадки выполняем следующие действия:
Панель Управления -> Система -> Дополнительно -> Быстродействие -> Предотвращение выполнения данных. Ставим птичку в положение «Включить DEP для всех программ и служб, кроме выбранных ниже» и с помощью кнопки «Добавить» указываем путь к исполняемому файлу программы, которая провоцирует ошибку памяти. В моем случае ошибку read \written провоцирует программаExplorer.exe. по этому мои действия выглядят следующим образом.
Этот способ не всегда решает проблему ошибки памяти, но по статистике помогает в 25% случаев.
2. Очень часто, причиной ошибки памяти оказываются такие программы как Norton Internet Security, Kaspersky Internet Security Outpost Firewall, K-Lite Mega Codec Pack, а также драйвера принтеров HP и простая захламленность ОС. По этому решением в этом случае будет замена программ и антивирусов аналогами и чистка реестра операционной системы.
3. Также возможна проблема и с работой файла подкачки, по этому нужно настроить его размер наиболее оптимальным способом. Оптимальный размер файла подкачки зависит от объема установленной ОЗУ памяти в ПК:
512Мб ОЗУ = 1500Мб файла подкачки
1024Мб ОЗУ = 1024Мб файла подкачки
1536Мб ОЗУ = 512Мб файла подкачки
2048Мб ОЗУ = 256Мб файла подкачки
Настройки по изменению файла подкачки находятся по адресу: Панель Управления -> Система -> Дополнительно -> Быстродействие (Параметры) -> Дополнительно -> Виртуальная память (Изменить):
4. Если ошибка read \written появляется во время игры, то это может означать, что в операционной системе установлена несовместимая с игрой версияDirectX. В таком случае нужно установить новую версиюDirectX. которая находится на диске с игрой.
5. Данная ошибка может быть вызвана плохой работой блока питания, а также некорректной работой ОЗУ памяти компьютера. В таком случае, решением проблемы станет замена комплектующих ПК.
Можно конечно и переустановить ОС, но это Вам не даст гарантии, что данная ошибка не появится вновь!
На компьютере с разной периодичностью выскакивала ошибка примерно следующего содержания:
«Инструкция по адресу 0x6fe216e2 обратилась к памяти по адресу 0×0162005. Память не может быть read ».
На первый взгляд причина возникновения ошибки довольно проста: менеджер виртуальной памяти обнаруживает попытку доступа к страницам памяти, доступ к которым не разрешён для данного процесса. То есть, для каждого приложения в памяти выделяется некое пространство. И если приложение начинает лезть за пределы этого пространства, т.е. пытается оттуда что-то прочитать (read) или что-то записать туда (written), то появится такая ошибка. Система считает, что эта ошибка не смертельная, поэтому выдается стандартное сообщение: «Память не может быть. ».
Перелистав не один десяток «желтых» страниц Интернета, я пришел к выводу, что причин возникновения данной ошибки может быть несколько, но конкретно в моем случае ошибку вызывает служба «Предотвращения выполнения данных» (DEP) .
Предотвращение выполнения данных (Data Execution Prevention, DEP) — это набор программных и аппаратных технологий, позволяющих выполнять дополнительные проверки содержимого памяти и предотвращать запуск вредоносного кода. В операционных системах Windows XP с пакетом обновлений 2 (SP2) и Microsoft Windows XP Tablet PC Edition 2005 функция DEP реализована как на программном, так и на аппаратном уровне.
Основным преимуществом функции DEP является возможность предотвращения запуска вредоносного кода из области данных. Как правило, содержимое стека и кучи по умолчанию не является исполняемым кодом. При аппаратной реализации функция DEP вызывает исключение при запуске кода из указанных местоположений. Функция DEP, реализованная на программном уровне, предотвращает использование вредоносными программами механизма обработки исключений, существующего в Windows.
В отличие от брандмауэра или антивирусного программного обеспечения функция DEP не препятствует установке потенциально опасных программ на компьютер, а только следит за тем, как программы используют память, и после установки SP2, DEP по умолчанию включена для основных программ и служб Windows.
Существует четыре варианта настройки функции DEP:
OptIn — данное значение используется по умолчанию. На компьютерах, оснащенных процессорами с поддержкой DEP, функция DEP включена по умолчанию для ограниченного числа системных файлов и программ. При этом по умолчанию защищаются только системные файлы Windows.
OptOut — по умолчанию функция DEP включена для всех процессов. В диалоговом окне Система панели управления можно вручную создать список приложений, для которых следует отключить DEP. Специалисты по информационным технологиям могут воспользоваться пакетом средств обеспечения совместимости приложений (Application Compatibility Toolkit), чтобы отключить функцию DEP для одной или нескольких программ. При этом вступают в силу исправления, обеспечивающие совместимость программ, для функции DEP.
AlwaysOn — функция DEP включается для всей системы. Все процессы работают с выполнением проверок DEP. В этом режиме нельзя отключить функцию DEP для отдельных приложений. Исправления, обеспечивающие совместимость программ, для функции DEP в силу не вступают. Программы, для которых пакетом средств обеспечения совместимости приложений было отключено использование функции DEP, также работают с выполнением проверок DEP.
AlwaysOff — функция DEP отключена для всей системы, независимо от наличия аппаратной поддержки DEP. Процессор не работает в режиме PAE, если в файле Boot.ini не указан параметр /PAE.
Если какая-то программа вызывает срабатывание этой функции, Microsoft рекомендует выбрать режим OptOut и добавить эту программу в список исключений.
Однако зачастую программа состоит не из одного исполняемого модуля, а из многих динамических библиотек, и не всегда имеется возможность точно определить, какая именно вызывает срабатывание DEP.
В моем случае я решил проблему радикальным способом, отключив DEP целиком, отредактировав файл boot.ini .
На файл boot.ini, находящийся в корневом каталоге системного раздела жесткого диска с установленной Windows XP, в процессе загрузки компьютера возложена функция управления содержимым меню выбора операционной системы во время загрузки компьютера и задание параметров ее дальнейшего функционирования.
После редактирования файл будет выглядеть следующим образом:
[Boot loader]
Timeout=30
Default=multi(0)disk(0)rdisk(0)partition(1)\WINDOWS
[Operating systems]
multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional SP2" /noexecute=AlwaysOff /fastdetect
Отредактируем его в блокноте, при этом помня, что данный файл является системным, поэтому необходимо перед редактированием снять галочку «Скрывать защищенные системные файлы» в свойствах папки "Проводника".
Для применения изменений необходимо сохранить файл и перезагрузить компьютер .
Выше я отметил, что причин возникновения ошибки: «Память не может быть read\written» может быть несколько. На что еще следует обратить внимание: — конфликт программного обеспечения;
Одна из программ мешает правильно функционировать другой программе и появляется эта ошибка. — проблемы с файлом подкачки;
Если у вас проблема осталась, попробуйте скачать и установить обновление Windows XP SP2 KB958644 . которое лечит уязвимость службы Сервера.
olg45
Это какая-то служба подглючивает. При запуске пытается копировать информацию в запрещённые разделы памяти. Могла возникнуть при инсталляции каких-либо приложений: UPS, файейволлы, трафикомеры. Можно поочерёдно вычислить. А можно и отключить.
В этом виновата функция "Предотвращение выполнения данных" (DEP).
Мелкософт комментирует это так:
"В отличие от брандмауэра или антивирусного программного обеспечения функция DEP не препятствует установке
потенциально опасных программ на компьютер, а только следит за тем, как программы используют память, и после
установки Service Pack 2 DEP по умолчанию включена для основных программ и служб Windows. Cуществует четыре
варианта ее настройки.
OptIn (по умолчанию) - В этой конфигурации под действие функции DEP подпадают только основные системные программы
и службы.
OptOut - DEP включена для всех процессов и приложений, кроме тех, которые вручную добавлены пользователем в список
исключений.
AlwaysOn - В этом режиме DEP включена всегда для системы в целом, всех процессов и приложений, невзирая на установки
пользователя или производителя ПО.
AlwaysOff - DEP полностью отключена.
NoExecute =OptIn
NoExecute =OptOut
NoExecute =AlwaysOn
NoExecute =AlwaysOff
Для редактирования boot.ini нужно: Пуск => Выполнить => %systemdrive%\Boot.ini
или найти Boot.ini в корне системного раздела и отредактировать. Ваша люмая строчка 4. Файл скрытый. Не забыть после редактирования установить галочку "только для чтения".
Спалю железо за 3-и минуты! Убью систему за 3-и секунды!
жуман
Попробуйте откатиться назад и отключить последние обновления,если Вы их устанавливали.
Частенько после обновлении выскакивает эта ошибка.Вспомните какое ПО последний раз устанавливали,возможна она конфликтует.
если ничего не помогло попробуйте перенести важные файлы на внешний HDD и переставить Винду.
OptIn - (установлено по умолчанию). В этой конфигурации под действие функции DEP подпадают только основные системные программы и службы.
OptOut - DEP включена для всех процессов и приложений, кроме тех, которые вручную добавлены пользователем в список исключений.
AlwaysOn - В этом режиме DEP включена всегда для системы в целом, всех процессов и приложений, не взирая на установки пользователя или производителя ПО.
AlwaysOff - DEP полностью отключена.
Анатолий 59
Всё понял. Спасибо!
borisich
нет даты написания статьи. Значит она устарела.
жуман
написана 24.06.2015г. если Вы имели в виду,что мало вариантов решения этой проблемы,то это только те,что описаны у меня в блоге.сейчас много в сети пишут вариантов решения этой проблемы, но такие как --попытка отправить отчёт об ошибке,проблемы с многоядерными процессорами,проблемы с файлом подкачки, плохой блок питания,некорректно установленные тайминги памяти----Полная чушь.
если Windows перевести на какой нибудь африканский,то вариантов решения
borisich
Я имел ввиду, только то, что надо ставить дату написания статьи.
Появилась такая тенденция, что многие блоггеры не ставят даты написания статей, и выдают статьи написанные 3, 4, 5 пет назад (т.е. жульничают) за сегодняшние и которые уже на данный момент не актуальны.
Лично для меня, статьи без даты, вызывают резкое неприятие, и недоверие к автору, в то время, как статьи с проставленной датой, вызывают доверие и правильно ориентируют, потому как и "старые" статьи, бывают еще вполне
А реально проставленная дата, характеризует автора, только с лучшей стороны.
Ведь столько жулья, развелось в Рунете…
жуман
да,Вы правы. жулья много сейчас в сети.насчет даты,откровенно-я в блоговедении
и сайтостроении новичок и убрал дату недавно по советам так сказать гуру в этом деле,что-то типа излишние ссылки. незнаю,как скоро смогу это восстановить. хочу сам научиться этому без посторонней помощи. во всяком случае спасибо Вам за проявленный интерес и внимание к этому.
Обновлено: 21.10.2011 - 10:12
Если судить по форумам, то по Интернету ходит поистине огромное количество слухов, мнений и предположений на тему возникновения этой ошибки. Достаточно сказать, что Яндекс по запросу "Память не может быть read" находит два миллиона страниц. Внушительная цифра, согласитесь.
Причина возникновения ошибки довольно проста: менеджер виртуальной памяти обнаруживает попытку доступа к страницам памяти, доступ к которым не разрешён для данного процесса. Ошибка эта, разумеется, не смертельная, поэтому выдаётся стандартное сообщение об ошибке "Память не может быть. ". Если говорить упрощённо, то для каждой программы в памяти выделяется некое пространство. И если приложение начинает лезть за пределы этого пространства, т.е. пытается оттуда что-то прочитать (read) или что-то записать туда (written), то появится такая ошибка. Microsoft потому и не даёт никаких рекомендаций по устранению этой ошибки, ведь это не её вина, что какие-то пользовательские программы не могут адекватно распоряжаться выданной им памятью.
Возможная причина №1 - служба DEP
Справка . "Предотвращение выполнения данных (DEP) используется для предотвращения проникновения на компьютер вирусов и других угроз безопасности, которые выполняют вредоносный код из областей памяти, которые должны использоваться только операционной системой Windows и другими программами. Такой тип угроз безопасности наносит ущерб, занимая по очереди все области памяти, используемые программой. Затем вирус распространяется и повреждает другие программы, файлы и даже контакты электронной почты.
В отличие от брандмауэра или антивирусной программы средство DEP не препятствует установке потенциально опасных программ на компьютер. Вместо этого выполняется наблюдение, чтобы программы использовали системную память безопасным образом. Для этого DEP работает отдельно или вместе с совместимыми микропроцессорами и помечает некоторые области как не выполняемые». Если программа пытается запустить код (любой код) из защищенной области, DEP закрывает программу и отображает уведомление".
Комментарий . Если какая-то программа вызывает срабатывание этой функции, Microsoft рекомендует выбрать режим OptOut и добавить эту программу в список исключений.
Однако зачастую программа состоит не из одного исполняемого модуля, а из многих динамических библиотек, и не всегда имеется возможность точно определить, какая именно вызывает срабатывание DEP. Если программа вам очень нужна, а добиться ее работоспособности вышеописанным методом не получается, проще отключить DEP целиком, путем редактирования boot.ini.
Хотя, если вероятность возникновения этой ошибки невелика, и если вы не сталкиваетесь с нею, лучше оставить DEP включенной - так система будет больше защищена от возможности выполнения вируса.
Существует четыре варианта настройки функции DEP
OptIn - (установлено по умолчанию). В этой конфигурации под действие функции DEP
подпадают только основные системные программы и службы.
OptOut - DEP включена для всех процессов и приложений, кроме тех, которые вручную добавлены пользователем в список исключений.
AlwaysOn - В этом режиме DEP включена всегда для системы в целом, всех процессов и приложений, не взирая на установки пользователя или производителя ПО.
AlwaysOff - DEP полностью отключена.
Первые два варианта настройки можно переключать с помощью панели управления:
"Система " -> "Дополнительно " -> "Быстродействие " -> кнопка "Параметры " ->закладка "Предотвращение выполнения данных ". (Доп.описание см.по ссылке от туда.)
Для полного включения или выключения DEP необходимо вручную отредактировать находящийся в корне загрузочного раздела диска скрытый файл boot.ini. добавив в разделе [operating systems] в конец строки multi(0)disk(0)rdisk(0)partition(1)\WINDOWS="Microsoft Windows XP Professional" /fastdetect ключ /NoExecute с одной из опций:
NoExecute = OptOut
NoExecute = AlwaysOn
Справка : файл boot.ini является одним из важнейших системных файлов, поэтому по умолчанию он скрыт. Соответственно, для его отображения потребуется разрешить отображение скрытых и системных файлов. Также его можно открыть для редактирования, если в Свойствах Моего компьютера выбрать вверху Дополнительно и нажать кнопку "Параметры" (самая нижняя). В открывшемся окне нажмите кнопку "Правка", чтобы открыть boot.ini для редактирования.
Возможная причина №2 - конфликт программного обеспечения
Проще говоря, одна из программ мешает правильно функционировать другой программе и появляется эта ошибка. Понятное дело, что чёткого списка конфликтного софта не существует. Тем не менее, в Интернете засветился пакет Norton Internet Security 2007, Kaspersky Internet Security 2009, Outpost Firewall, K-Lite Mega Codec Pack и антивирус Dr.Web, а также драйвера от принтеров фирмы Hewlett-Packard. Сюда же можно отнести и "захламленную" систему. Если Windows простояла полгода или больше, то вполне может появиться эта ошибка, особенно если ОС активно используется, т.е. часто устанавливаются новые программы, игры и драйвера.
Полезная информация: если у вас ТВ-тюнер фирмы Beholder, то не устанавливайте драйвера на него через install.exe. Укажите путь к inf-файлу драйвера вручную, через Мастер установки оборудования (Диспетчер устройств - правой кнопкой на устройство - Обновить драйвер. ).
Возможная ошибка №3 - работа отладчика Dr. Watson
В Windows XP есть дебаггер под названием Dr. Watson. Для того, чтобы отключить его, откройте реестр (Пуск-Выполнить: regedit) и раскройте ветку HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion. В ней одним из самых первых разделов будет AeDebug. Щёлкните по нему правой кнопкой и
выберите Удалить. Но учтите, что данное действие не претендует на решение ошибки чтения памяти, оно может лишь убрать само сообщение об ошибке.
Возможная ошибка №4 - русские символы в пути к файлу
Даже в наши времена необходимо стараться устанавливать игры\программы по нормальным путям, стараясь избегать русских букв в названии, а также слишком длинных путей. Например, куда лучше устанавливать игру в папку D:\Games\Earth 2150, чем в C:\Program Files\Земля 2150 - Война миров. А в случае установки программ в путь могут быть добавлены лишние папки с названиями разработчика или версия программы. Используйте как можно более короткие и понятные пути (например E:\Programs\Fraps).
Возможная ошибка №5 - проблема обращения к системной библиотеке
Эта ошибка может быть связана с проблемой обращения к системной библиотеке ole32.dll, которая могла быть испорчена или разрегистрирована (например, при установке\удалении других программ). Чтобы пофиксить эту возможную причину, сделайте Пуск-Выполнить: regsvr32 %SystemRoot%\system32\ole32.dll
Возможная причина №6 - попытка отправить отчёт об ошибке
Весьма оригинальный совет, в котором было сказано, что подобной ошибки (Память не может быть read\written) можно избежать, если отключить в WinXP отправку любых отчётов об ошибках в Microsoft. В Свойствах Моего компьютера надо выбрать вверху Дополнительно и нажать кнопку "Отчет об ошибках". Откроется небольшое окно. Его необходимо привести вот к такому виду:
Возможная причина №7 - проблемы с многоядерными процессорами
Если у вас многоядерный процессор (то есть 2 ядра или больше), то попробуйте скачать маленькую программку CPU-Control и выставить в ней режим "CPU 1".
Количество ядер можно посмотреть в Диспетчере устройств (ветка "Процессоры"; 1 процессор = 1 ядро, 2 процессора = 2 ядра и т.д.). Если CPU-Control вам не помог, то выставите в нем значение Auto, закройте его и удалите.
Примечание: на системах с 1-ядерным процессором эта программа бесполезна.
Возможная причина №8 - проблемы с файлом подкачки
Рекомендуется проконтролировать обращение системы к этому файлу. Для этого необходимо в Свойствах Моего компьютера выбрать вверху Дополнительно и нажать кнопку "Параметры" (самая верхняя). Откроется новое окно. В нём также надо выбрать вверху Дополнительно и нажать в нижней части кнопку "Изменить". Выделите диск, на котором хотите расположить файл подкачки (желательно, чтобы он был поменьше фрагментирован). Поставьте точку напротив пункта Особый размер и введите числа в поля:
Маловероятно, но подобная ошибка может быть вызвана в том случае, если в паре работают два модуля оперативной памяти от разных производителей. Соответственно, проверить это просто: просто вытащите один из модулей.
Возможная причина №10 (. )- плохой блок питания
Ошибка чтения памяти может быть вызвана и некачественным\старым БП. Конечно, это очень уж маловероятно, но наиболее идеальным вариантом будет подключение компьютера к заведомо нормальному блоку питания. Если же у вас нет возможности одолжить у кого-нибудь БП, то просто отключите различную мелочь, т.е. CD\DVD-привод, карты расширения, установленные в PCI-слотах, принтер и т.д.
Возможная ошибка №11 (. ) - некорректно установленные тайминги памяти
Один из наиболее "тяжёлых" случаев*. Если вкратце, то вся оперативная память построена на таймингах (задержках) чтения\записи данных. Вот так выглядит стандартная оперативная память с её задержками:
Обратите внимание, что задержки для каждой частоты разные. Соответственно, если тайминги выставлены неправильно (хотя материнская плата должна делать это автоматически), то компьютер может работать, мягко говоря, нестабильно. Обычно это выражается зависанием\перезагрузкой, но мне встретились предположения и том, что это тоже может вызвать ошибку "Память не может быть read\written". Соответственно, рекомендуется установить тайминги вручную или даже чуть-чуть повысить их.
К сожалению, лишь очень малое количество пользователей (где-то 1 на 1000) способно самостоятельно выставить в BIOS'е правильные тайминги для своей RAM. Сюда же можно отнести неправильно выставленную частоту или напряжение для памяти, хотя на одном из форумов встретилось интересное сообщение: человеку помогло снижение частоты памяти.
* Сам я весьма скептически отношусь к подобному варианту возникновения ошибки чтения памяти.
Возможная ошибка №12 (. ) - перегрев памяти
Безусловно, модули RAM нагреваются во время работы, но дополнительное охлаждение требуется лишь конкретным планкам памяти, например, которые разогнаны самим производителем и потому нуждаются в хорошем охлаждении. Но обычная память (которая стоит у 95% пользователей) нормально работает даже в плохо вентилируемых корпусах. Хотя в данном случае всё это можно проверить очень легко - достаточно просто открыть корпус.
Пытаемся выявить виновника ошибки
На первом месте, безусловно, стоит конфликт программ\драйверов. К сожалению, даже имея в наличии полный список установленных приложений, нельзя сказать, какое из них вызывает ошибку. Соответственно, единственным вариантом остаётся только методичное тестирование приложений. Для этого потребуется приложение\игра, которое 100% вызывает ошибку (это необходимо для экономии времени), а также чистая система.
Что такое чистая система
Чистой системой называют Windows XP + Service Pack 2 русской или английской версии, которая была установлена на предварительно отформатированный раздел на жёстком диске. Это значит, что многочисленные самопальные сборки WinXP, которые разбросаны в Интернете, не годятся для тестов.
Методика очень простая. Итак, вы установили чистую систему. Создали пользователя (кстати, желательно с английским именем) и вошли в систему. Устанавливаете проблемное приложение и смотрите на его поведение. Если всё в порядке, то начинаете ставить те приложения, которыми привыкли обычно пользоваться. После установки каждого из них тестируете проблемную софтину. Если всё в порядке - продолжаем ставить программы. Обращаю внимания, что ничего, кроме самой, собственно, Винды и тестируемого приложения, стоять не должно. Ни драйверов, ни другого софта.
Если же переустановка системы для вас неприемлема, а какие-то приложения отказываются работать из-за ошибки чтения памяти, то можно попробовать загрузиться в Безопасном режиме и попытаться запустить их там. Если при таком раскладе ошибки не будет, то значит, виновник ошибки грузится при обычной загрузке системы. Про то, как можно почистить систему вообще и автозагрузку в частности, можно прочитать здесь.
Справка: при загрузке в Безопасном режиме не загружаются видеодрайвера, поэтому протестировать игры в нём не получиться. Если необходимо протестировать программу, использующую сеть, то выбирайте не обычный Безопасный режим, а с поддержкой сети.
Большинство компьютеров после переустановки Windows нуждаются в следующих драйверах:
Примечание. часть информации была взята с форумов различных варез-порталов, но правилами Форума Игромании запрещено оставлять ссылки на подобные порталы, поэтому список источников не полный. Приношу извинения тем людям, чьи сообщения были использованы в качестве источника информации без ссылки на него.
И ещё раз: если у вас стоит сборка (ZverCD и т.п.) и началась эта проблема, то целесообразно поставить чистую систему. Потому что если у вас сборка, то с вами никто даже разговаривать не будет .
Условия распространения текста свободные; автор данного материала не несёт ответственности за ваши действия.