Всем привет! Не так давно лично столкнулся с такой проблемой: после запуска какой-то достаточно тяжелой игры на ультра пресете графики, спустя несколько минут игра просто вылетает в рабочий стол. В некоторых случаях появляется ошибка «память не может быть Read» или «Out of memory».
Возьмем за пример Need for Speed Heat, где эта ошибка проявляется наиболее стабильно и четко и попытаемся докопаться до истины.
При выкручивании графики на максимум до первой гонки игра доехать не даст ни при каких обстоятельствах, при понижении графики до средних значений – все нормально, никаких ошибок нет, гонка проходится, и игра спокойно движется по сюжету. Давайте разберемся, почему так происходит.
Конфигурация компьютера подразумевает GTX 1660 c шестью гигабайтами GDDR6 памяти, думаю, ругаться на недостаток видеопамяти не стоит, идем дальше. Быть может, узким горлышком является 8 гигабайт оперативной памяти? Ведь действительно, в некоторых моментах игра подвисает, подгружая локацию, но это никоим образом не должно выбивать ошибку, ведь есть целых 4 гигабайта файла подкачки. Так я думал раньше, ведь никогда не обладал таким размером видеопамяти и не выкручивал текстуры на максимум.
Как избавиться от ошибки «память не может быть read/written» НАВСЕГДА! (2018-2022)
Если открыть диспетчер задач, видно, что структура памяти отличается от выводимого графика. Есть часть используемой памяти, которая и заполняет график ОЗУ, все нормально. Но от оставшейся памяти огромный кусок в 3 гигабайта резервируется системой под кэш, он никак не используется и служит чем-то вроде буфера для системных процессов. По-настоящему свободной памяти, которая никак не задейстWowана, на деле всего порядка 300 мегабайт.
Вот что происходит во время игры на самом деле:
- Игры под Windows не могут загружать графику с диска напрямую в видеопамять и перед этим файлы размещаются в оперативной памяти.
- При запуске игры первым делом в оперативную память загружается игровой движок, который уже в процессе игры начинает подгружать всю графику.
- Соответственно, при полном заполнении ОЗУ, система загружает данные в файл подкачки. Именно в него отправляется весь кэш, освобождая пространство для тяжелого приложения в оперативной памяти. Маленький размер файла подкачки и вызывает ошибку, которая намекает, что данных для загрузки больше нежели свободной памяти.
Да-да, я столько распинался для того, чтобы сказать о файле подкачки, но ведь всегда полезно понимать из-за чего именно возникает ошибка, а не слепо ее устранять.
Получается такая картина, что игровому движку, чтобы себя прокормить недостаточно 4-5 Гб ОЗУ, часть данных движка уходит в файл подкачки, где встречает уже размещенный кэш операционной системы размером 3 Гб. В оставшиеся крохи, движок распихивает модели и текстуры перед отправкой в видеопамять, но в процессе игры графики неожиданно становится слишком много для трансфера через ОЗУ к видеокарте. Заполняется оперативная память, заполняется файл подкачки, система дает команду на запись и натыкается на отказ, т.к. места больше нет. Тогда и возникает злополучная ошибка «память не может быть Read» или «Out of memory» и т.п.
Почему вылетают игры на ПК — память не может быть Read и out of memory (Повышаем файл подкачки)
Повышаем размера файла подкачки
А теперь, для тех кто не знает, как изменить файл подкачки, небольшой туториал.
- Правой кнопкой мыши жмем на значке «Мой компьютер», выбираем свойства.
- В левом меню выбираем «Дополнительные параметры системы»
- Переходим в «Параметры» вкладки «Быстродействие»
- В верху выбираем «Дополнительно»
- Внизу видим область «Виртуальная память», где указан текущий размер файла подкачи, нажимаем «Изменить».
- Убираем галочку с «Автоматически выбирать объем файла подкачки».
- Выбираем диск «С» и жмем «Указать размер».
- Указываем размер равный 1,5-2 размерам оперативной памяти. В моем случае это 16 гигабайт. При этом исходный и максимальный размер лучше указать одинаковым, чтобы избежать фрагментации диска, а также не ставить файл подкачки на диск «D».
- Нажимаем «Задать», жмем «ОК».
- Перезагружаем компьютер.
Ради интереса взглянем на показатели системы во время игры. Оперативная память полностью забита, кэш отправился в файл подкачки, на его место встал игровой движок. При этом видеопамять забита лишь на половину, что подтверждает теорию о том, что в ошибку выбивает именно при трансфере графики.-
Источник: dzen.ru
Инструкция по адресу 0x00000000 обратилась к памяти. Память не может быть read или written
В Windows есть такая функция «Предотвращение выполнения данных» (DEP). В некотором роде она предназначена для осуществления безопасности и стабильности системы. Функция DEP не препятствует установке потенциально опасных программ на компьютер, а только следит за тем, как программы используют память, и после установки SP2,
DEP по умолчанию включена для основных программ и служб Windows.
В данном случае ошибка возникает при обращении какой-либо программы или модуля программы напрямую к закрытому участку памяти.
Если при запуске какой-либо игры или программы появляется данная ошибка, Microsoft рекомендует добавить эту программу в список исключений.
Как решить проблему «инструкция по адресу, память не может быть written или read»:
щелчок правой кнопкой мыши на значке «Мой компьютер» -> свойства -> вкладка «дополнительно» -> в поле «быстродействие» нажимаете на кнопку «параметры» -> в появившемся окне на вкладке «предотвращение выполнения данных» ставится флажок напротив «Включить DEP для всех программ и служб, кроме выбранных ниже» -> становится активной кнопка «добавить», нажимая на которую можно добавить в список исключений нужные программы.
Недостаток этого способа в том, что нужно будет добавлять в этот список все игры и программы, которые могут вызвать данную ошибку.
Windows XP
Другой способ избавиться от этой ошибки — полностью проверить всю систему на наличие вирусов антивирусной программой с обновленными базами. Часто именно вредоносные программы вызывают подобные ошибки. Также подобные ошибки сочетаются с некоторыми другими (например, ошибки в каком-либо процессе) при подключении к интернету, либо во время работы в сети интернет.
Если антивирус НЕ обнаружил НИ ОДНОГО вируса, то в вашем случае проще отключить DEP целиком, путем редактирования файла boot.ini.
Файл boot.ini находится на диске C.
В нем ищем строчку:
multi(0)disk(0)rdisk(0)partition(1)WINDOWS=»Microsoft Windows XP Professional RU» /noexecute=optin /fastdetect
И меняем на:
multi(0)disk(0)rdisk(0)partition(1)WINDOWS=»Microsoft Windows XP Professional RU» /noexecute=AlwaysOff /fastdetect
Файл boot.ini может быть вообще скрыт. Чтобы его увидеть и открыть для редактирования нужно в меню «сервис» выбрать «свойства папки» —> «вид» —> убрать галочку с «скрывать защищенные системные файлы».
Windows Vista, Windows 7, Windows 10
– нажмите Пуск;
– в строке «Начать поиск» введите cmd или просто открыв пуск начинайте печатать «cmd»;
– под заголовком Программы щелкните правой кнопкой мыши на cmd.exe или строчке «Командная строка»;
– в появившемся меню выберите «Запуск от имени администратора»;
– введите пароль администратора, если появится соответствующий запрос;
– после приглашения системы введите команду bcdedit.exe /set nx AlwaysOff
– нажмите Enter;
– появится сообщение «Операция успешно завершена»;
– закройте это окно.
Предотвращение выполнения данных (DEP) используется для предотвращения проникновения на компьютер вирусов и других угроз безопасности, которые выполняют вредоносный код из областей памяти, которые должны использоваться только операционной системой Windows и другими программами. Такой тип угроз безопасности наносит ущерб, занимая по очереди все области памяти, используемые программой.
Затем вирус распространяется и повреждает другие программы, файлы и даже контакты электронной почты. Но если вы будете своевременно обновлять базы антивируса и делать полную проверку компьютера хотя бы раз в неделю то все будет хорошо.
Если эта статья вам помогла, напишите в комментариях об этом пожалуйста. Если что-то не получилось, пишите, постараюсь помочь.
Источник: nopcproblem.ru
Память не может быть read как исправить?
Здравствуйте, дорогие читатели! Сегодня мы изучим и рассмотрим самые распространенные причины, которые могут вызвать ошибку чтения памяти. В связи с тем, что причиной появления данного рода ошибок может являться множество различных программных неполадок, в этой статье будут приведен целый ряд действий и шагов, которые помогут устранить данную проблему.
Таким образом система Windows сообщает о том, что одно из приложений попыталось прочесть страницу памяти, но к этому участку памяти для этой программы доступ запрещен. Такая ошибка не является слишком страшной, можно даже не обращать на нее внимание. Но все же это говорит о том, что некая программа работает некорректно. Поэтому лучше постараться все исправить.
Кстати, довольно часто этот вид ошибки можно встретить в различных пиратских, не лицензионных сборках. Они способны вызывать не стабильную работу компьютера и приводить к разным программным сбоям.
Как можно устранить ошибку «Память не может быть read»?
В Сети великое множество различных методов, позволяющих избавиться от данной проблемы. В этой статье приведены лишь те, которые действительно, на практике, помогли все исправить, или прекратить появление таких сообщений. Если Вы постоянно видите ошибку с текстом «Память не может быть read», то можете воспользоваться одним из следующих действий.
Пробуем отключить службу предотвращения данных (DEP)
В первую очередь мы рассмотрим службу, которая и отвечает за появление подобного рода ошибок. Ее называют «Служба предотвращения данных» (DEP). Она контролирует как другие обращаются к памяти. Таким образом наблюдая, что бы все приложения находились на своих местах в памяти.
Возможно Вам тоже приходилось пересекаться с такой проблемой: работаете в каком-нибудь приложении и внезапно оно закрывается. Если у вас Windows 7, появляется окно такого вида.
Какой бы вариант не был выбран, в любом случае, запущенное приложение закроется с потерей всех не сохраненных данных. И это очень неприятно.
Причина такой неисправности всегда кроется в некорректной работе приложения, которое было закрыто. А служба предотвращения данных, при обнаружении неполадок во время программы, выполняет аварийную остановку и закрытие. Но если отключить эту службу, то такая ошибка перестанет возникать и закрывать приложения. Это не всегда помогает, однако в многих случаях срабатывает.
Для отключения службы DEP, необходимо зайти в ее настройки. Любые подобные действия необходимо делать с правами Администратора. Чтобы это сделать, следуйте инструкции, которая описана далее.
Для тех, у кого стоит Windows 7
Заходим в панель управления (через меню «Пуск») и находим раздел «Системы и безопасности», открываем его. И теперь открываем пункт «Система». В левой части окошка находится ссылка «Дополнительные параметры системы», переходим по ней.
Далее заходим в «Дополнительно». В части, которая связанна с быстродействием, кликнем по параметрам.
В следующем окошке необходимо будет открыть раздел с названием «Предотвращение выполнение данных».
Тут можно увидеть, что DEP может быть активирована, например, для контроля за основными программами и службами, а может работать для анализируя все установленные на компьютере приложения. Здесь же можно добавить к исключениям программы, с которыми эта служба не будет взаимодейстWowать.
В этом примере, DEP будет игнорировать исключительно одну, определенную программу. Что бы это сделать активируем пункт «Включить DEP для всех программ и служб, кроме выбранных ниже:». Затем необходимо нажать на «Добавить».
Ищем файл приложения, которое собираемся добавить в список исключений DEP. Затем выбираем его.
После того как приложение было добавлено, нажимаем на кнопку «Применить» и затем на кнопку «Ок». После этого выполняем перезагрузку своего компьютера. Теперь служба DEP не будет контролировать выбранную программу. Если в дальнейшем потребуется обратно включить DEP для добавленного в список исключений приложения, то просто необходимо убрать возле него галочку.
После этого снова нажимаем «Применить» и выполняем перезагрузку компьютера.
Ну а как тогда полностью отключить DEP? Что бы это сделать, придется прибегнуть к командной строке. Заходим в меню «Пуск» и в поиске набираем «cmd». Нам нужно открыть контекстное меню, для программы «cmd» (кликнув по ней правой кнопкой) и в нем перейти на пункт, позволяющий запуститься от имени администратора.
У нас откроется терминал. В нем необходимо ввести такой текст: bcdedit.exe/set nx AlwaysOff
После того как Вы ввели этот текст, нажимаем на «Enter» и выполняем перезагрузку своего ПК. Теперь DEP вообще не будет запускаться. Когда понадобится ее снова активировать, таким же образом откройте окошко командной строки и вставьте туда этот текст: bcdedit.exe/set nx OptIn
Опять нажимаем «Enter» и выполняем перезагрузку.
Для тех, кто пользуется Windows XP
Если Вы являетесь пользователем ОС Windows XP, то нужно выполнить такие шаги:
В свойствах системы, находим раздел «Дополнительно», в пункте с названием «Загрузка и восстановление» кликаем по кнопочке «Параметры».
Нажимаем на кнопочку «Правка».
Теперь потребуется немножко подкорректировать файл boot.ini. Мы должны изменить этот фрагмент: /noexecute=optin на такой: noexecute=AlwaysOff и после того сохранить все изменения. Затем, выполняем перезагрузку своего компьютера.
Часто, описанные выше операции, помогают избавиться от ошибки «Память не может быть read». Но если проблема не исчезла, предлагаю перейти к другому способу ее решения.
Конфликты в программном обеспечении
В случае, когда на компьютер устанавливалось большое количество разных программ то возможно, что с большой долей вероятности некоторые из них будут создавать помехи другим и мешать нормально работать. При определенных обстоятельствах это будет вызывать ошибку некорректного чтения памяти.
Еще достаточно негативную роль отыгрывает всякий программный мусор на диске, разные затерянные файлы. Такой хлам появляется и накапливается при выполнении установки, или удаления разных программ (особенно если это делать часто). Поэтому рекомендуется регулярно выполнять чистку системы от бесполезных и не удаленных файлов.
Можно воспользоваться специальными утилитами, которые чистят реестр и файловую систему. Про них упоминалось в одной из предыдущих статей на этом сайте.
Возникновение программного конфликта, за которым последует упомянутая ошибка, может произойти из-за неправильно указанной папки, во время установки приложения (особенно это касается игр). В неподходящем месте, программа может просто начать мешать нормально работать остальным приложениям.
Дополнительно, при возникновении ошибок, всегда выполняйте полное сканирование антивирусом. Ведь конфликт может возникнуть из-за «тихо» установившейся вредоносной программы, например, «трояна».
Отключение отчета об ошибках
Каждый раз, когда появляется подобное сообщение об ошибке, то оно тут же связывается с центром отчетов об ошибках. Если постоянно сталкиваетесь с: «Память не может быть read», можно решить эту проблему путем отключения данной системы учета.
Для тех, кто пользуется Windows 7:
Через меню «Пуск» заходим в «Панель управления», там находим раздел «Система и безопасность». Открываем «Центр поддержки» и выбираем «Параметры».
Иногда данный раздел может не отображаться, тогда просто зайдите в «Обслуживание» и откройте там необходимо перейти к дополнительным параметрам отчетов об ошибках. В конце концов появится такое окошко.
Выберете пункт с названием «Не проверять на наличие новых решений». Затем нажимаете на кнопку «Ок» и выполняете перезагрузку компьютера.
Для тех, кто использует Windows XP, для отключения отчетов нужно выполнить такие действия:
Через «Пуск» заходим в «Панель управления», в ней открываем раздел Системы. В нем находим и раскрываем «Дополнительно». Там нужно запустить «Отчет об ошибках». Теперь переключаемся на «Отключить отчет об ошибках» и убираем флажок возле «Но уведомлять о критических ошибках».
Жмем «ОК» и выполняем перезагрузку компьютера.
Нарушения в библиотеке ole.dll
Очень распространенное явление, когда во время деинсталляции, или установки различного программного обеспечения, могут проявляться не правильные параметры и другие нарушения. После этого такие нарушения иногда отображаются в библиотеке ole.dll, что приводит к различному роду ошибкам. Но их можно исправить.
Используйте сочетание клавиш Win+R и в отрывшемся окошке «Выполнить» введите следующий текст: regsvr32 %SystemRoot%system32ole32.dll
Затем жмем на «Enter». Затем выполняем перезагрузку компьютера.
Проблемы, возникающие с виртуальной памятью
Неполадки с файлом подкачки также, иногда, приводят к всевозможным ошибкам. В определенных случаях, этого вида памяти может быть просто недостаточно, слишком маленькие размеры файла подкачки. Поэтому необходимо увеличить его.
В других случаях, проблемы могут возникнуть после установки программ (особенно игр) которые требуют более мощных ресурсов чем те, что есть на компьютере. Приведу пример: для адекватной работы игры необходимо 2 ГБ оперативной памяти, а на данном ПК имеется всего лишь 512 МБ. После запуска такой игры, вполне закономерно, может возникнуть и ошибка доступа к памяти.
Пиратская версия Windows
Сейчас есть великое множество всевозможных ломаных систем Windows. Всякие пиратские сборки не несут никаких гарантий того, что система будет стабильно работать. Ведь при их создании, в коде оригинальной Windows выполняют довольно значительные изменения, которые влекут за собой всевозможные ошибки. Все эти сбои довольно часто приводят к переустановке операционной системы.
Ничего не помогло?
Выполните проверку жесткого диска на наличие ошибок, не помешает дефрагментация диска. И если даже после этого ошибка продолжает о себе напоминать, то можно выполнить переустановку операционной системы, с полным форматированием винчестера. Особенно это рекомендуется для тех, кто пользуется пиратскими Windows.
Ведь в таком случае все программные неисправности могут быть связанны с ошибками самой сборки. На этом все, держите систему в чистоте. До скорой встречи в следующей статье!
Источник: prostocomp.net