Ошибка - Память не может быть read\written. Причины возникновения

Если судить по форумам, то по Интернету ходит поистине огромное количество слухов, мнений и предположений на тему возникновения этой ошибки. Достаточно сказать, что Яндекс по запросу "Память не может быть read" находит два миллиона страниц. Внушительная цифра, согласитесь. Причина возникновения ошибки довольно проста: менеджер виртуальной памяти обнаруживает попытку доступа к страницам памяти, доступ к которым не разрешён для данного процесса. Ошибка эта, разумеется, не смертельная, поэтому выдаётся стандартное сообщение об ошибке "Память не может быть.Ошибка - Память не может быть read\written. Причины возникновения..". Если говорить упрощённо, то для каждой программы в памяти выделяется некое пространство. И если приложение начинает лезть за пределы этого пространства, т.е. пытается оттуда что-то прочитать (read) или что-то записать туда (written), то появится такая ошибка. Microsoft потому и не даёт никаких рекомендаций по устранению этой ошибки, ведь это не её вина, что какие-то пользовательские программы не могут адекватно распоряжаться выданной им памятью. Самые распространённые мнения о причинах появления этой ошибки: Плохая память - на многих форумах первым делом советуют проверить оперативную память (RAM), но на самом деле битая память ведёт себя несколько по-иному. Как правило, это либо мгновенная перезагрузка компьютера, либо просто зависание\вылет в различных приложениях. Вирусная атака - вирусная активность обычно проявляется несколько по-иному. Зачастую это выглядит как отказ в запуске заражённых приложений, отсутствие Рабочего стола (т.е. Проводник\explorer.exe не запускается) или 100% загрузка процессора. Но, естественно, это ещё не означает, что можно обойтись без антивируса. Появилась ошибка - проверяйте комп на вирусы. Особенно если раньше такой ошибки не было. Отсутствие обновлений для Windows - на самом деле количество установленных обновлений никак не влияет на данную ошибку. Иными словами, можно установить стандартную WinXP+SP2 и спокойно сидеть за компьютером, а можно скачать все апдейты, которые только есть, но всё равно получать эту ошибку, хотя в Интернете иногда можно встретить советы по удалению того или иного обновления. Кроме того, многие пользователи ставят комплексные пакеты обновлений (более известные как Service Pack), которые содержат несколько сотен обновлений, что делает невозможным определение виновника. Возможные причины ошибки "Память не может быть read\written" Возможная причина №1 - служба DEP Справка : "Предотвращение выполнения данных (DEP) используется для предотвращения проникновения на компьютер вирусов и других угроз безопасности, которые выполняют вредоносный код из областей памяти, которые должны использоваться только операционной системой Windows и другими программами. Такой тип угроз безопасности наносит ущерб, занимая по очереди все области памяти, используемые программой. Затем вирус распространяется и повреждает другие программы, файлы и даже контакты электронной почты. В отличие от брандмауэра или антивирусной программы средство DEP не препятствует установке потенциально опасных программ на компьютер. Вместо этого выполняется наблюдение, чтобы программы использовали системную память безопасным образом. Для этого DEP работает отдельно или вместе с совместимыми микропроцессорами и помечает некоторые области как «невыполняемые». Если программа пытается запустить код (любой код) из защищенной области, DEP закрывает программу и отображает уведомление". Комментарий : Если какая-то программа вызывает срабатывание этой функции, Microsoft рекомендует выбрать режим OptOut и добавить эту программу в список исключений. Однако зачастую программа состоит не из одного исполняемого модуля, а из многих динамических библиотек, и не всегда имеется возможность точно определить, какая именно вызывает срабатывание DEP. Если программа вам очень нужна, а добиться ее работоспособности вышеописанным методом не получается, проще отключить DEP целиком, путем редактирования boot.ini. Хотя, если вероятность возникновения этой ошибки невелика, и если вы не сталкиваетесь с нею, лучше оставить 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 с одной из опций: Чаще всего можно увидеть советы по отключению службы DEP (Data execution prevention = Предотвращение выполнения данных). Для этого необходимо открыть файл C:\boot.ini и заменить в нём строку /noexecute=optin на /noexecute=AlwaysOff. Для применения изменений необходимо перезагрузить компьютер. Справка : файл 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, которая могла быть испорчена или разрегистрирована (например, при установке\удалении других программ). Чтобы пофиксить эту возможную причину, сделайте Пуск-Выполнить: r egsvr32 %SystemRoot%\system32\ole32.dll Возможная причина №6 - попытка отправить отчёт об ошибке Весьма оригинальный совет, в котором было сказано, что подобной ошибки (Память не может быть read\written) можно избежать, если отключить в WinXP отправку любых отчётов об ошибках в Microsoft. В Свойствах Моего компьютера надо выбрать вверху Дополнительно и нажать кнопку "Отчет об ошибках". Откроется небольшое окно. Его необходимо привести вот к такому виду: Возможная причина №7 - проблемы с многоядерными процессорами Если у вас многоядерный процессор (то есть 2 ядра или больше), то попробуйте скачать маленькую программку CPU-Control и выставить в ней режим "CPU 1". Количество ядер можно посмотреть в Диспетчере устройств (ветка "Процессоры"; 1 процессор = 1 ядро, 2 процессора = 2 ядра и т.д.). Если CPU-Control вам не помог, то выставите в нем значение Auto, закройте его и удалите. Примечание: на системах с одноядерным процессором эта программа бесполезна. Возможная причина №8 - проблемы с файлом подкачки Рекомендуется проконтролировать обращение системы к этому файлу. Для этого необходимо в Свойствах Моего компьютера выбрать вверху Дополнительно и нажать кнопку "Параметры" (самая верхняя). Откроется новое окно. В нём также надо выбрать вверху Дополнительно и нажать в нижней части кнопку "Изменить". Выделите диск, на котором хотите расположить файл подкачки (желательно, чтобы он был поменьше фрагментирован). Поставьте точку напротив пункта Особый размер Минимальный и максимальный объём желательно выставлять одинаковым. Перед выходом необходимо нажать кнопку "Задать". При уменьшении\отключении файла подкачки потребуется перезагрузка. При увеличении\включении файла подкачки перезагрузка обычно не нужна. Ниже будут приведены рекомендуемые значения для объёма файла подкачки в зависимости от объёма RAM самого компьютера: Возможная причина №9 (!!!)- несовместимость оперативной памяти Маловероятно, но подобная ошибка может быть вызвана в том случае, если в паре работают два модуля оперативной памяти от разных производителей. Соответственно, проверить это просто: просто вытащите один из модулей. Возможная причина №10 (!!!)- плохой блок питания Ошибка чтения памяти может быть вызвана и некачественным\старым БП. Конечно, это очень уж маловероятно, но наиболее идеальным вариантом будет подключение компьютера к заведомо нормальному блоку питания. Если же у вас нет возможности одолжить у кого-нибудь БП, то просто отключите различную мелочь, т.е. CD\DVD-привод, карты расширения, установленные в PCI-слотах, принтер и т.д. Возможная ошибка №11 (!!!) - некорректно установленные тайминги памяти Один из наиболее "тяжёлых" случаев*. Если вкратце, то вся оперативная память построена на таймингах (задержках) чтения\записи данных. Вот так выглядит стандартная оперативная память с её задержками: Обратите внимание, что задержки для каждой частоты разные. Соответственно, если тайминги выставлены неправильно (хотя материнская плата должна делать это автоматически), то компьютер может работать, мягко говоря, нестабильно. Обычно это выражается зависанием\перезагрузкой, но мне встретились предположения и том, что это тоже может вызвать ошибку "Память не может быть read\written". Соответственно, рекомендуется установить тайминги вручную или даже чуть-чуть повысить их. К сожалению, лишь очень малое количество пользователей (где-то 1 на 1000) способно самостоятельно выставить в BIOS'е правильные тайминги для своей RAM. Сюда же можно отнести неправильно выставленную частоту или напряжение для памяти, хотя на одном из ф

Hosted by uCoz