Память не может быть read/written




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

Вообще эта ошибка получается так: менеджер виртуальной памяти обнаруживает попытку доступа к страницам памяти, доступ к которым не разрешён для данного процесса. Но это не смертельная ошибка для Windows, поэтому вместо "синего экрана смерти" выдаётся сообщение об ошибке "Память не может быть read/written". То есть для каждой программы в памяти выделяется некое пространство. И если приложение начинает выходить за пределы этого пространства, т.е. пытается оттуда что-то прочитать (read) или что-то записать туда (written), то появится эта ошибка. Microsoft не даёт никаких рекомендаций по устранению этой ошибки, ведь это не её вина, что какие-то пользовательские программы не могут адекватно распоряжаться выданной им памятью.

Причины возникновения ошибки «Память не может быть read written» обычно такие:

1. Служба Data Execution Prevention

Для устранения нужно отключить службу DEP (Data Execution Prevention – Предотвращение выполнения данных). Для этого необходимо открыть файл C:boot.ini и заменить в нём строку /noexecute=optin на /noexecute=AlwaysOff. Для применения изменений необходимо перезагрузить компьютер. Данное действие помогает в 20% всех случаев. Файл boot.ini может быть скрыт, поэтому для его отображения потребуется разрешить отображение скрытых и системных файлов. Также его можно открыть для редактирования, выбрав в Свойствах Моего компьютера вкладку Дополнительно и нажав самую нижнюю кнопку "Параметры". В открывшемся окне нажмите кнопку "Правка" и файл boot.ini откроется для редактирования.

2. Конфликт программного обеспечения

Это когда одна из программ мешает правильно функционировать другой программе и появляется эта ошибка. Чёткого списка конфликтного софта не существует. Однако достоверно известно, что если Windows простояла полгода или больше, то вполне может появиться эта ошибка, особенно если ОС активно используется, т.е. часто устанавливаются новые программы, игры и драйвера. Можно попробовать загрузиться в Безопасном режиме. Если там проблемное приложение запустится нормально, значит, программа - причина ошибки грузится при обычной загрузке системы.

3. Отладчик Dr. Watson

В Windows XP есть дебаггер под названием Dr. Watson. Для того чтобы его отключить, откройте реестр (Пуск -> Выполнить: regedit) и раскройте ветку HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindows NTCurrentVersion. В ней одним из самых первых разделов будет AeDebug. Щёлкните по нему правой кнопкой и выберите Удалить. Данное действие не претендует на решение ошибки чтения памяти, оно может лишь убрать само сообщение об ошибке.

4. Путь установки

Путь C:ProgramFilesИмя_разработчикаИмя_издателяИмя_лока- лизатораИмя_основной_папки... все видели при установке очередной игры. Но мало кто утруждает себя тем, чтобы исправить это дикое нагромождение папок на что-нибудь более простое и понятное. Однако длинный путь (да ещё и с русскими буквами) может послужить причиной возникновения ошибки чтения памяти. Пример - всем известный Steam. Чуть ли не в половине случаев Steam-игры вываливались с сообщением об ошибке чтения памяти. А всё потому, что пользователи ставили Steam куда попало (например, C:ИгрыПрограммы для игрSteam вместо D:GamesSteam). То же самое касается и программ. Если в процессе работы какого-нибудь приложения появляется ошибка «Память не может быть readwritten», удалите его, а затем установите заново, но при этом используйте как можно более короткий путь. Если установка по более короткому пути не поможет, то попробуйте установить проблемное приложение в другой раздел диска.

5. Проблема обращения к системной библиотеке

Ошибка может быть связана с проблемой обращения к системной библиотеке ole32.dll, которая могла быть испорчена или разрегистрирована (например, при установкеудалении других программ). Чтобы устранить эту возможную причину, сделайте Пуск -> Выполнить: regsvr32 %SystemRoot%system32ole32.dll

6. Попытка отправить отчёт об ошибке

Ошибки «Память не может быть readwritten» можно избежать, если отключить в WinXP отправку любых отчётов об ошибках в Microsoft. В Свойствах Моего компьютера надо выбрать вкладку Дополнительно и нажать кнопку "Отчет об ошибках". Откроется небольшое окно. Его необходимо привести к такому виду:

отчет об ошибках


7. Проблемы с многоядерными процессорами

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

Если у вас AMD-процессор: попробуйте скачать и установить последнюю версию драйвера для вашего процессора

Если CPU-Control вам не помог, то выставьте в нем значение Auto, закройте его и удалите.

Количество ядер можно посмотреть в Диспетчере устройств. Пример с процессором, у которого два ядра:

диспетчер устройств

Если игра "Герои Меча и Магии III" вылетает с ошибкой "Память не может быть readwritten", то CPU-Control в режиме "CPU 1" практически до нуля снижает вероятность появления этой ошибки.

8. Проблемы с файлом подкачки

Рекомендуется проконтролировать обращение системы к этому файлу. Для этого необходимо в Свойствах Моего компьютера выбрать вверху Дополнительно и нажать верхнюю кнопку "Параметры". Откроется новое окно. В нём также надо выбрать вверху Дополнительно и нажать в нижней части кнопку "Изменить". Выделите диск, на котором хотите расположить файл подкачки (желательно, чтобы он был поменьше фрагментирован). Поставьте точку напротив пункта Особый размер и введите числа в поля:

виртуальная память

Минимальный и максимальный объём желательно выставлять одинаковым. Перед выходом необходимо нажать кнопку "Задать". При уменьшенииотключении файла подкачки потребуется перезагрузка. При увеличениивключении файла подкачки перезагрузка обычно не нужна. Ниже будут приведены рекомендуемые значения для объёма файла подкачки в зависимости от объёма RAM самого компьютера:

  • 512Мб RAM = 1536Мб для файла подкачки
  • 1024Мб RAM = 1024Мб для файла подкачки
  • 1536Мб RAM = 512Мб для файла подкачки
  • 2048Мб RAM = 256Мб для файла подкачки или вообще 0Мб

9. Проблемы с оперативной памятью

Оперативная память обычно не является виновником возникновения ошибки "Память не может быть readwritten". Тем не менее, есть рекомендации, которые имеют непосредственное отношение к оперативке, и, возможно, помогут вам убрать ошибку чтения памяти.

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

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

Во-вторых, помните, что лучше всего устанавливать парные модули одинакового объёма. Иными словами, нежелательны комбинации типа:

  • 1 х 1024Мб + 2 х 512Мб
  • 1 х 512Мб + 2 х 256Мб

Разумеется, с большой долей вероятности всё будет нормально работать, но всё-таки желательно ставить одинаковые модули. Например:

  • 4 х 512Мб
  • 2 х 1024Мб


10. Плохой блок питания

Ошибка чтения памяти может быть вызвана и некачественным или старым блоком питания. Конечно, это очень уж маловероятно, но наиболее идеальным вариантом будет подключение компьютера к заведомо нормальному блоку питания. Если у вас нет возможности одолжить у кого-нибудь нормальный БП, то просто отключите различную мелочь, т.е. CDDVD-привод, карты расширения, установленные в PCI-слотах, принтер и т.д.

11. Некорректно установленные тайминги памяти

Вся оперативная память построена на таймингах (задержках) чтениязаписи данных. Вот так выглядит стандартная оперативная память с её задержками:

cpu-z

Задержки для каждой частоты разные. Если тайминги выставлены неправильно (хотя материнская плата должна делать это автоматически), то компьютер может работать нестабильно. Обычно это выражается зависаниемперезагрузкой, но это тоже может вызвать ошибку "Память не может быть readwritten". Соответственно, рекомендуется установить тайминги вручную или даже чуть-чуть повысить их.

12. Перегрев памяти

Модули RAM нагреваются во время работы, но дополнительное охлаждение требуется лишь конкретным планкам памяти, которые разогнаны самим производителем и потому нуждаются в хорошем охлаждении. Но обычная память (которая стоит у 95% пользователей) имеет слабое тепловыделение и нормально работает даже в плохо вентилируемых корпусах. Впрочем, при желании "температурный вопрос" можно легко прояснить - достаточно просто открыть корпус и посмотреть, исчезнет ошибка или нет.


Если ничего из вышеперечисленного не помогло, то остаётся только методичное тестирование приложений. Для этого потребуется приложениеигра, которое 100% вызывает ошибку, а также чистая система.

Методика тестирования
1) Отформатировать системный раздел и установить на него ОС.
2) Создать двух пользователей, но с разными именами (например, "User-1" и "User-2").
3) Запустить проблемное приложение и проверить, исчезла ли ошибка.

Если ошибка исчезла:
1) Устанавливаем все оставшиеся драйвера и смотрим, появилась ошибка чтения памяти или нет.
2) Устанавливаем те программы, которыми привыкли пользоваться. Снова проверяем, появилась ошибка или нет.

Если ошибка не исчезла:
1) Пробуем запустить игру программу в другом пользователе.
2) Пробуем установить игру программу на другой раздел (в общем, снова пробуем все те советы, которые перечислены вверху).
3) Снова переустанавливаем систему, однако на этот раз используем более новый старый дистрибутив. Например, вы проводили тест на WinXP+SP2. Значит, вам имеет смысл поискать дистрибутив WinXP+SP3.



Создан 01 мар 2015