Как использовать всю память. Почему компьютер не видит всю ОЗУ

Большинство специалистов в области оптимизации операционных систем семейства Windows одной из самых главных проблем этих ОС называют невозможность использования полного объема ОЗУ, установленного на компьютере, причем вне зависимости от архитектуры (32 или 64 бита). Система либо не распознает память выше определенного лимита (обычно это 4 Гб в 32-битных ОС), либо видит память, но работать с ней не может. О том, как задействовать всю оперативную память, далее и будет рассказано. Но сразу следует предостеречь всех пользователей, что применять некоторые приводимые ниже решения можно только на свой страх и риск.

Как узнать задействованную оперативную память?

И для начала давайте посмотрим, как узнать полный установленный и используемый в данный момент объем ОЗУ. Если посмотреть на раздел свойств системы, вызываемый через меню ПКМ на значке компьютера на «Рабочем столе» или в «Проводнике», сразу же можно заметить, что в описании указан и весь объем, и доступный. Почему доступный размер меньше? Да только потому, что в любом случае система часть оперативной памяти использует под свои нужды (для процессов, как раз и обеспечивающих функционирование самой ОС).

Точно так же просто можно обратиться к системному монитору в «Диспетчере задач», если перейти на вкладку производительности. Однако ситуаций с невозможностью задействования всего объема может быть две:

  • система не видит объем выше 4 Гб;
  • общий объем определяется, но использоваться не может.

Ограничения 32-битных систем

Конечно, если на компьютере установлена операционная система с архитектурой 32 бита, все проблемы можно было списать исключительно на ее разрядность, ведь такие модификации Windows с объемами памяти выше 4 Гб работать просто «не приучены» изначально. Поэтому единственно правильным решением для исправления ситуации станет самая обычная замена системы х86 (32 бита) на 64-разрядную.

Но ведь иногда можно встретить и случаи, когда в той же Windows 7 х86 память 8 Гб видна, а доступным оказывается размер до 4 Гб. А вот это как раз и связано с ограничениями, которые подразумевает 32-битная архитектура. Впрочем, ситуация может быть еще банальнее, поскольку и материнская плата не всегда дает разрешение на использование полного объема ОЗУ. Чтобы не менять «железо», можно обратиться к некоторым скрытым программным инструментам, которые помогут решить такую проблему если не в полной мере, то хотя бы частично.

Как задействовать всю оперативную память в Windows любой версии?

Итак, первым делом необходимо запустить конфигуратор системы, вызываемый командой msconfig, но обязательно с правами администратора. Если в консоли «Выполнить» такой пункт отсутствует, сначала необходимо активировать «Диспетчер задач», а затем, используя файловое меню, задать выполнение новой задачи, вписать указанную команду и отметить пункт создания задачи с правами администратора. Как задействовать всю оперативную память, вне зависимости от архитектуры?

Для этого в конфигураторе следует перейти на вкладку загрузки, нажать кнопку дополнительных параметров, а в появившемся окне настроек снять флажок с пункта использования максимума памяти, в поле которого наверняка будет указано значение ниже полного объема ОЗУ. Этот пункт целесообразно активировать только в том случае, если производится включение всех ядер процессора, когда для каждого ядра и указывается максимальный размер памяти.

Действия в BIOS

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

В меню разделов необходимо найти параметр, содержащий что-то вроде RAM Remapping (over 4 Gb) или Memory Hole, и активировать его, выставив для него значение Enabled. Если такого пункта в настройках нет, по всей видимости, версия BIOS изменение таких опций не поддерживает. Однако получить к ним доступ можно за счет установки обновленной прошивки для самой первичной системы. Но без специальных знаний заниматься такими вещами самостоятельно не рекомендуется, поскольку последствия могут быть совершенно непредсказуемыми.

Пропатчивание системных файлов

Наконец, рассмотрим решение, касающееся именно систем с архитектурой х86. Как раз о его использовании на свой страх и риск было сказано в самом начале. Для того чтобы обойти ограничения и задействовать оперативную память в 32-битных ОС Windows, можно воспользоваться утилитой ReadyFor4GB, которая подходит и для случаев, когда система более 4 Гб не видит, и для ситуаций, когда полный объем памяти определяется, но использовать его не представляется возможным.

После старта программы путем запуска от имени администратора одноименного исполняемого файла формата EXE из папки самого портативного приложения последовательно нажать кнопки Check и Apply. После этого появится сообщение, в котором нужно дать согласие на установку патча для файла ntkrnlpa.exe, нажав соответствующую кнопку (при этом будет сохранен файл ntkr128g.exe). Теперь из той же папки следует запустить файл сценария AddBootMenu.cmd (опять же, от имени администратора), а затем нажать клавиши «Y» и «Ввод». По завершении выполнения скрипта остается закрыть командную консоль, выполнить аналогичные действия с файлом RemoveWatermarkX86.exe и перезагрузить компьютер. Если в процессе рестарта появится меню «Диспетчера загрузки», в нем нужно выбрать строку для системы Microsoft Windows .

Соответствующая запись появится и в конфигураторе. Проверить доступную и используемую оперативную память можно через обычный раздел свойств компьютера.

Примечание: если с установкой патча в Windows 7 возникли проблемы, возможно, сначала в разделе программ и компонентов придется удалить системные пакеты обновлений (KB) с номерами 3147071, 3146706 и 3153171, задать повторный поиск обновлений и исключить указанные апдейты из списка установки.

Заключение

Как задействовать всю оперативную память, думается, немного понятно. Остается добавить, что вышеописанные методы более ориентированы именно на 32-битные системы, поскольку в Windows с архитектурой 64 бита появление таких ситуаций встречается нечасто, а настройки, установленные по умолчанию, обычно таковы, что предпринимать какие-то дополнительные действия не нужно. Если уж на то пошло, для освобождения дополнительного объема ОЗУ уберите ненужные элементы из раздела автозагрузки или отключите неиспользуемые службы и компоненты системы.

Знакомы многим пользователям. При вызове окна свойств системы полный объем отображается, но после него почему-то указывается, что доступно памяти чуть меньше. Еще хуже, когда пользователь точно знает, сколько у него установлено оперативной памяти, а доступно 50 и менее процентов. Почему это происходит, и как задействовать максимальный объем ОЗУ, далее и рассмотрим. Но для начала кратко остановимся на основных причинах такого явления.

Почему доступна не вся оперативная память?

Итак, то, что операционные системы Windows иногда выдают показатели, значения которых заведомо меньше, нежели полный объем установленной оперативной памяти, могут связаны с рядом причин, среди которых наиболее значимыми являются следующие:

  • установлена 32-разрядная система, не поддерживающая память более 4 Гб;
  • максимальный не поддерживается материнской платой;
  • в параметрах системы установлено ограничение на максимум используемого объема ОЗУ;
  • в BIOS некорректно заданы настройки перераспределения памяти;
  • память частично зарезервирована под встроенные видеоадаптеры;
  • запущено слишком много активных процессов;
  • установленные планки имеют повреждения, их работоспособность нарушена, или они подключены неправильно;
  • использование памяти блокируется вирусами.

Сразу стоит сказать, что подробно вопросы, связанные с вирусным воздействием, рассматриваться не будут. Тут можно посоветовать просто на всякий случай выполнить проверку, используя для этого портативные антивирусы или аналогичные программы, имеющие в своем распоряжении загрузчики.

Как задействовать всю установленную память простейшими способами?

Куда более важными вопросами, когда оперативная память доступна не вся, являются проблемы с подключением планок памяти или их некорректной работой. Для начала убедитесь, что материнская плата рассчитана на устанавливаемый объем, а также проверьте плотность вставки планок в соответствующие слоты. Нелишним будет и выполнить тест памяти, для чего может использовать собственное средство Windows (mdsched) или сторонние программы вроде Memtest86/86+.

Если неполадки на этом этапе выявлены не будут, обратите внимание на разрядность установленной модификации Windows. В случае наличия 32-битной версии, которая не умеет работать с ОЗУ объемом более 4 Гб (если только не применять специальные средства), сколько бы вы ни устанавливали памяти сверх этого лимита, все равно система его не распознает.

Оптимальным решением станет инсталляция 64-битной версии Windows. Но в этом случае установленные ранее программы могут не работать, а важные файлы придется скопировать в другой логический раздел или на съемный носитель.

Иногда бывает и так, что оперативная память доступна не вся по причине некорректно выставленных опций использования памяти в (msconfig).

В конфигураторе на вкладке загрузки нажмите кнопку дополнительных параметров и проверьте, установлен ли флажок на пункте максимума памяти. Если он есть, снимите его, сохраните установленные опции и перезагрузите систему.

Как уже понятно, частично память может «съедаться» огромным количеством активных фоновых процессов и служб, которые не видны пользователю. Для начала отключите все ненужные компоненты в автозагрузке (в Windows 7 и ниже для этого используется соответствующая вкладка в настройках конфигурации, в версиях выше - «Диспетчер задач»).

На всякий случай просмотрите активные компоненты системы в разделе программ и компонентов и отключите неиспользуемые (модуль Hyper-V, Internet Explorer, если используете другой браузер, службу печати, если нет принтера, и т. д.). Аналогично можно установить отключенный тип запуска и для некоторых других служб (services.msc), но в этом случае нужно точно знать, что можно деактивировать, а что нет.

Доступно мало оперативной памяти: какие настройки можно изменить в BIOS?

Если проблема и после применения вышеописанных решений осталась, зайдите в настройки первичных систем BIOS/UEFI и проверьте настройки памяти, в которых должен присутствовать пункт, содержащий слова Remapping или Remap (перераспределение).

Если у вас установлена 64-битная Windows, а памяти более 4 Гб, установите для него значение Disabled (отключение). В противном случае его нужно активировать.

Если оперативная память доступна не вся по причине резервирования дополнительного объема для видеокарты, встроенной в материнскую плату, выставьте для этого пункта значение, соответствующее объему памяти адаптера (узнать его можно на вкладке монитора при вызове диалога DirectX - dxdiag). Делается это за счет смены автоматического определения (Auto) на один из доступных вариантов (32, 64 или 128 Мб).

Пропатчивание 32-битных систем

Наконец, задействовать всю память свыше объема в 4 Гб можно и в 32-битных системах, используя для этого утилиту ReadyFor4GB. Сначала запускается исполняемый одноименный EXE-файл из папки приложения, а затем нажимаются кнопки Check и Apply. После этого аналогичные действия выполняются для объекта ntkrnlpa.exe. Затем запускается файл AddBootMenu.cmd и дается подтверждение выполнения команды. После перезагрузки в случае появления меню с загрузчиком выбирается Windows .

Примечание: все действия производятся исключительно с запуском файлов от имени администратора на свой страх и риск, поскольку работоспособность системы после применения такого метода в полной мере не гарантируется.

После обновления до Windows 10 многие пользователи начали жаловаться на проблему использования неполного объема оперативной памяти. Для примера приведем случай с форума Microsoft. При установке 6 Гб ОЗУ в Windows 10 32 отображалось только 3,92 Гб. Весь объем оперативной памяти был недоступный, а точнее, система просто его не видела. В некоторых случаях решить такую проблему помогала переустановка планок ОЗУ местами и чистка контактов. Однако в ряде случаев решить такую проблему не удалось.

Способы настройки отображения всей ОЗУ на Windows 10

Если вы столкнулись с ситуацией, когда доступна не вся оперативная память на Windows 10 и при этом модули вы не меняли местами, стоит выполнить следующие действия:

  • Жмём «Win+R» и вводим «msconfig».
  • Откроется окно «Конфигурации системы». Переходим во вкладку «Загрузка». Нажимаем на кнопку «Дополнительные параметры».

  • Откроется небольшое окно. Здесь нужно снять отметку «Максимум памяти».

  • После сохранения изменений нужно перезагрузить компьютер и посмотреть, сколько используется памяти.

Если Windows 10 не видит полного объема ОЗУ, стоит изъять планки со слотов и поменять их местами. Также рекомендуем почистить контакты модулей оперативной памяти. Для этого стоит взять канцелярскую резинку и аккуратно стереть загрязнения с контактов.

Если модули вы вставите неправильно, при загрузке ПК пройдет пост. Необходимо будет вернуть модули на свои места и повторно запустить компьютер. После загрузки Windows 10 32 бит нужно скачать программу MemTest86 и проверить работоспособность ОЗУ.

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

  • Первый параметр BIOS, который отвечает за стабильную работу ОЗУ – это перераспределение памяти. В различных версиях прошивки этот раздел может именоваться по-разному (Memory Hole Remapping, H/W DRAM Over 4GB Remapping, Hardware Memory Hole). Поэтому стоит детально изучить инструкцию к плате или найти описание к версии используемого БИОСа.

Функция перераспределения памяти переносит блоки адресов, используемые картами расширения, в адресное пространство за 4-м Гб. Таким образом, удается увеличить объем оперативной памяти (в противном случае Windows10 будет видеть 3-3.5 Гб). Для полноценной поддержки такого объема необходимо использование 64-х разрядных процессоров и 64-х разрядных версий ОС (либо серверных версий 32-х разрядных операционных систем, допускающих расширение физических адресов PAE). При меньшем объеме оперативной памяти обязательно выключите эту опцию (Disabled), так как могут возникнуть неполадки в работе ОЗУ. Включение перераспределение памяти – значение Enabled.

  • Параметры памяти для видеоапертуры AGP – это объем памяти, который система делит с видеоадаптером. Он необходим для отображения текстур и отрисовки картинки. Данный объем памяти может не использоваться системой, если он заблокирован видеоадаптером. Способ, как включить его один: загружаемся в БИОС, выбираем AGP Aperture size. Стандартные значения: 32 МБ, 64 МБ, 128 МБ и Auto (Автоматически). Смотрим сколько памяти у видеокарты и по значению задаем нужное. Зачастую это 128 Мб. Однако можно попробовать применить каждый из параметров, чтобы посмотреть, какой из них даст лучший результат.

После внесения всех изменений в настройки BIOS нужно загрузиться в Windows и проверить, видный ли весь объем ОЗУ. Если система до сих пор не видит оперативную память, стоит попробовать вставить другие модули в слот. Возможно, старые планки ОЗУ вышли из строя или имеют дефекты.

О том, почему система не видит всей оперативной памяти и как это исправить, смотрите в видео:

Всем доброго времени суток. Пять лет назад я написал статью с заголовком readyboost на windows xp и когда я писал эту статью я думал, что информация будет не актуальной, так как уже была Windows 7 в которой readyboost работает из коробки, да и вышла оперативная память ddr3 которая продавалась дешевле предыдущих плат памяти. Но к моему удивлению и сейчас человек 10 в день переходят из поисковых систем на страницу, за данный момент статью просматривали примерно 80000 раз, а это получается в среднем 42 раза в сутки – что для моего скромного сайта достаточно много.

Спрашивается, почему я начал с ностальгии и заговорил про readyboost на xp? Все просто, сегодня мы будем рассматривать ситуацию обратную т.е. readyboost используют когда оперативной памяти не хватает для комфортной работы, а мы рассмотрим как заставить работать больше 3,5 гигабайт оперативной памяти в windows xp . Четно признаться мне сложно смоделировать и логически объяснить ситуацию в которой это умение вам может пригодится (и да сегодня будет много комментариев от автора и лирических отступлений, если вам не интересно моё «бла бла бла» можете сразу смотреть скриншоты.). Но пригодилось оно мне когда на работе у меня был старый системник dell с oem’ мной windows xp которую нельзя было переустанавливать, ну и ладно было у меня 2Гб оперативной памяти, что для xp вполне достаточно, но тут я пошарился по складу пораздербанивал старые системники и вуаля у меня уже 6Гб оперативной памяти. Ну и как известно система увидела из них всего 3,5Гб и все получается у меня в простаивает 2,5Гб оперативной памяти что есть – плохо, эта мысль начала мне проедать мозг и однажды более опытный коллега мне посоветовал как это реализовать (по этому на авторство не претендую) и поможет нам в этом технология RAM disk . Что такое RAM disk? Все достаточно просто – это технология позволяющая создать раздел в оперативной памяти (RAM). И как нам это поможет задействовать остальную оперативную память? Мы в созданном разделе создадим файл подкачки! Еще немного справки, когда система распределяет всю оперативную память, то не приоритетные процессы могут быть перемещены в менее быстро действенную паять (файл подкачки) в подавляющем большинстве создаётся на жестких дисках скорость которых значительно медленнее чем оперативной памяти.

Для того чтобы показать вам реализацию данной функции я установил Windows XP в виртуальную машину (Virtual Box, возможно я когда–нибудь напишу статью как пользоваться этой программой) и очень переживал, что может не заработать, но все заработало нормально). Остро стал вопрос с выбором программы (нужно было чтобы и просто и бесплатно) нашел программку VSuite Ram disk (Free Edition) функционала бесплатной версии нам вполне хватит.

Ну и стразу пойдем по пунктам, а то я что-то увлекся со своим «бла бла бла»

– Для начала нам нужно скачать инсталятор и установить, в установке нет ничего сложного, жмем далее и все готово.

– Запускаем программу, видим основное окно программы, в поле «Disk Size» указываете объём памяти который не задействовала система (я выделил для виртуальной машины 4710Мб, а система задействовала 3,5Гб в результате у меня получилось ровно 1024Мб или 1Гб собственно это число я и укажу. P.s. Оставляйте хотябы 2Мб не задействованными (на всякий случай), и владельцы ПК с интегрированными видеокартами память которых выделяется из оперативной памяти пожалуйста учитывайте это!).

В поле «Drive Letter» указывается буква создаваемого диска, Я выбрал чтобы не путаться букву «R», а автоматическом режиме он задаст первую свободную в алфавитном порядке.

В поле «Volume Label» задаем название для раздела.

Жмем кнопку «Add» - готово! Для того чтобы проверить результат переходим в «Мой компьютер» и смотрим что такой раздел появился.

Если все получилось, то задаем файл подкачки на созданный раздел, при этом удаляя файл на других разделах. (Для тех кто не знает или не помнит где задается файл подкачки «Свойства системы\ Дополнительно\ Параметры быстродействия\ Дополнительно»). И после перезагрузки все должно заработать.

Понятно.
Посмотрел спецификацию процессора своего старого компьютера на сайте intel — про него там написано:
Instruction Set 32-bit
http://ark.intel.com/products/27438/Intel-Pentium-4-Processor-2_40-GHz-512K-Cache-533-MHz-FSB

А вообще, почитал в инете ещё по этой теме — пришёл к выводу, что для того, чтобы Windows увидела и начала использовать 4 Гб оперативной памяти — недостаточно одного только софта. То есть даже серверные версии Windows, в которых есть полноценный PAE (и хоть какие патчи туда устанавливай) — всё равно не смогут взаимодействовать со всей памятью, если чипсет в материнской плате не имеет дополнительных линий для взаимодействия с памятью. Т.е. для того, чтобы всё это заработало — помимо программной поддержки необходима ещё и аппаратная. Вот опять же на примере своего старого компа — там мат.плата на чипсете i945 — в инструкции к материнке заявлено, что памяти можно поставить до 4-х Гб. Но на деле — чего не придумывай, всё равно использовать все 4 Гб полностью там невозможно. Можно сказать, чипсет 32-х битный и он никак не сможет воспринимать адреса более 2^32 (это 4 Гб), т.е. физически в микросхеме нету столько ячеек для записи адреса или чего там, нет столько линий на плате… А поскольку всё общее адресное пространство (32-битное получается) уходит не только на оперативную память, но также и на все устройства — видео, звук там, контроллеры всякие и т.п. — то определённая часть оперативки остаётся без адресов и система не может с ними взаимодействовать. Получается, чтобы задействовать все 4 Гб памяти на 32 бит чипсете — нужно, чтобы на плате больше не было ничего кроме процессора, памяти и чипсета — никакого другого оборудования. Но зачем тогда такая система может быть нужна? :-)
А вот, к примеру, уже на чипе G31 (вроде) есть дополнительные 4 линии для работы с памятью, адресное пространство увеличивается до 2^(32+4) = 2^36, то есть до 64-х Гб (хотя тут тоже на самом деле получится не 64, а 64 минус объём адресного пространства, которое займёт оборудование).

В общем в итоге получается, что для того, чтобы Windows взаимодействовала со всей памятью нужно, чтобы
1. Набор микросхем мат. платы физически позволял использовать адресное пространство больше 32-х бит.
2. Набор микросхем мат. платы умел делать «переадресацию памяти» (memory mapping) — это когда ячейкам памяти с адресами, которые заняты оборудованием — присваиваются другие свободные адреса из пространства выше первых 32 бит
3. Операционная система умела использовать эту фичу мат. платы (на сколько я понял, умение ОС использовать эту фичу мат. плат — называется PAE — Physical Address Extensions).

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