Оптимизация оперативной памяти Windows. Оперативная память: разрушаем мифы

Оптимизация использования памяти может преследовать две цели – увеличение объема памяти, доступной приложениям, и повышение быстродействия обращений к памяти. На старых машинах, когда объем установленной физической памяти не превышал единиц мегабайт, зачастую приходилось чем-то жертвовать; в современных системах достижение обеих целей уже не противоречит друг другу. Нет сомнений в том, что, чем больше установленный объем ОЗУ, тем лучше – компьютер будет мощнее: он позволит загружать приложения, особо «жадные» до памяти; увеличить число одновременно работающих приложений (в многозадачной ОС); ускорить работу. Однако для обеспечения возможности использования памяти в ряде случаев требуются некоторые дополнительные действия по конфигурированию компьютера.
В системах с размером установленной памяти более 640 Кбайт возможны различные варианты использования последних 384 Кбайт из первого мегабайта физической памяти:

  • память не используется;
  • область (или часть ее) перемещается в конец дополнительной памяти;
  • область (или часть ее) используется в качестве теневой (Shadow) памяти адаптеров и ROM BIOS.
Перемещение неиспользуемого остатка первого мегабайта в конец дополнительной памяти (разрешается установкой параметра Memory Relocation в CMOS Setup) возможно не всегда. Обычно такое перемещение становится невозможным, если хоть часть из этого кусочка используется в качестве теневой памяти.
Также перемещение может предлагаться лишь при небольших объемах установленной памяти, и на современных системных платах эта возможность почти не встречается. Поэтому не стоит удивляться сообщению об объеме памяти, обнаруженном тестом POST, в котором относительно установленного «не хватает» 384 Кбайт.
Иногда BIOS предлагает такое распределение памяти, при котором под стандартную память выделяются 512 Кбайт, а остальная память идет как расширенная. Пользу такого распределения оценить трудно. При этом вышесказанное про верхние 384 Кбайт становится справедливым для оставшихся 512 Кбайт, правда, на возможность их перемещения в конец дополнительной памяти ограничения будут мягче.
Острее всего проблема обеспечения доступности памяти стоит для приложений MS-DOS, исполняемых в среде этой системы. Обычно «битва» идет за килобайты стандартной памяти (conventional memory), доступной приложениям. Из 640 Кбайт после загрузки ОС и необходимых резидентных драйверов на долю приложений может остаться около 500 Кбайт, а то и меньше, что для ряда приложений неприемлемо. Несмотря на повсеместное внедрения ОС типа Windows 9х, интерес к запуску больших приложений MS-DOS (например, бухгалтерских программ, в том числе и принудительно распространяемых налоговыми органами, а также игр) сохраняется и поныне. Сообщение о нехватке памяти на компьютере с ОЗУ размером, например, 32 Мбайт для приложения, скромно просящего всего 590 Кбайт, неприятно удивляет неискушенных пользователей. Однако эта нехватка не фатальна, если правильно выбрать версию и способ загрузки ОС. Все программные настройки, влияющие на объем доступной памяти, кроются в файлах CONFIG.SYS и AUTOEXEC.BAT, размещенных в корневом каталоге загрузочного диска.
Понимая проблемы, возникающие в связи с использованием памяти различными процессорами, для DOS-приложений можно рекомендовать следующие версии MS-DOS, оптимальные по размеру свободной стандартной памяти:
  • для компьютеров класса XT на процессорах 8086/88 – MS-DOS 3.30;
  • для компьютеров класса AT на процессорах 80286 – MS-DOS 5.x;
  • для компьютеров класса AT на процессорах 80386 и выше – MS-DOS 6.2x (правда, одно время встречались некачественные системные платы для 80386, на которых MS-DOS 6.2x отказывалась загружаться в НМА, хотя MS-DOS 5.x работала нормально).
Кроме MS-DOS, существуют и другие операционные системы реального режима, совместимые с MS-DOS (например, PC DOS, DR DOS, COMPAQ DOS). Каждая из них имеет свои преимущества и недостатки по сравнению с соответствующим поколением MS-DOS, но их обсуждение выходит за рамки данного пособия. Операционные системы (и оболочки) защищенного режима на компьютеры с процессором класса ниже 386 пытаться устанавливать почти бессмысленно. Система MS-DOS 3.3 (более ранние рассматривать не будем) загружалась целиком в стандартную память, но была довольно компактной и оставляла приемлемое место для приложений своего времени. Когда вышла MS-DOS версии 4 с более развитыми возможностями, появившимися ценой ее разрастания, многие приложения отказывались работать в ее среде именно из-за нехватки памяти, и эта версия ОС широкого распространения не получила. Более удачной стала версия 5, которая «научилась» использовать «высокую память» (НМЛ) на компьютерах с процессором 286 и выше, если таковая присутствовала. Для этого был введен специальный драйвер высокой памяти, и в файле CONFIG.SYS должны присутствовать строки:
DEVICE=[]HIMEM.SYS (загрузка драйвера высокой памяти)
DOS=HIGH (указание на загрузку ОС в высокую память)
Конечно, в верхнюю память загружается не вся ОС – часть все-таки попадает и в стандартную память. Кроме того, в стандартную память загружаются и резидентные драйверы – например, русификаторы клавиатуры и экрана, драйвер мыши и т. п. Все они отрывают свой кусок от памяти, которую могли бы использовать приложения. На компьютерах с 32-разрядными процессорами (386 и выше), имеющих механизм страничной переадресации, появилась возможность использования «верхней памяти» (UMA) с помощью драйвера EMM386.EXE. Этот драйвер отыскивает в области UMA (A0000-FFFFFh) регионы, не занятые памятью устройств, и отображает их на области доступной дополнительной памяти. В эти регионы, нормально адресуемые процессором в реальном режиме, можно помещать модули операционной системы и загружаемые драйверы; их же могут использовать и приложения.
Для наиболее компактной загрузки MS-DOS версий 5 и выше (а также Windows 9х, которая может представляться как MS-DOS 7) в файле CONFIG.SYS должны быть следующие директивы:
DEVICE=[]HIMEM.SYS (загрузка драйвера высокой памяти);
DEVICE=[]EMM386.EXE (загрузка диспетчера расширенной памяти);
DOS=HIGH. UMB (указание на загрузку ОС в высокую и верхнюю память).
Резидентные драйверы (русификаторы клавиатуры, экрана и принтера, драйвер мыши) по умолчанию обычно загружаются в стандартную память. Если приложениям MS-DOS не хватает свободной памяти, то, по крайней мере, часть резидентных драйверов можно загрузить в верхнюю память UMA. Для драйверов, загружаемых из файла CONFIG.SYS, вместо команды DEVICE» следует использовать команду DEVICEHIGH ]=, которая попытается загрузить драйвер в n-регион UMB. Необязательный параметр m задает требуемый объем памяти (он может отличаться от размера файла с драйвером). Ключ загрузки /L вместе с параметрами n, m используется для ручной оптимизации памяти. Если драйверу требуется выделить несколько областей памяти, то они перечисляются в списке вида /L:nl[,ml]:n2[,m2][;...]. Для резидентных программ, загружаемых из файла AUTOEXEC.BAT, тем же целям служит команда LOADHIGH (LH) с аналогичными необязательными параметрами, задающими размер одной или нескольких областей UMA. Строка запуска будет иметь вид:
LH] <путь\><файл>[<параметры>]
Посмотреть текущее положение свободных блоков памяти можно командой MEM/F из командной строки DOS/Windows. Чтобы не заниматься ручной оптимизацией памяти, в состав DOS/Windows введена диалоговая утилита MEMMAKER.EXE, которая за несколько этапов расставит требуемые команды в файлах CONFIG.SYS и AUTOEXEC.BAT. До ее запуска в этих файлах должны присутствовать ссылки на все необходимые драйверы и программы. Файл CONFIG.SYS должен начинаться с вышеприведенных трех строк (если не указать DOS=HIGH, утилита может «постесняться» использовать высокую память для загрузки DOS). Запуск нерезидентных приложений, а также оболочки типа Norton Commander из файла AUTOEXEC.BAT на время работы MEMMAKER следует отменить (MEMMAKER несколько раз перезагружает компьютер и автоматически запускается после отработки файла AUTOEXEC.BAT). При начальном запуске MEMMAKER спрашивает, требуется ли память EMS для приложений, и, если нет, то установит ключ NOEMS в строке запуска EMM386.
Для того чтобы в верхнюю память поместилось как можно больше модулей, ее следует оптимизировать. Оптимизация UMA подразумевает такое конфигурирование базовых адресов буферной и постоянной памяти адаптеров, при котором свободные области UMA получались бы максимально возможного размера. Нужно стремиться к плотному соединению областей UMA, занимаемых адаптерами. Тогда максимальный размер блоков UMB увеличится, и драйвер типа EMM386 сможет разместить в нем более крупные модули, что, в свою очередь, позволит освободить дополнительное место в остродефицитной стандартной памяти. Если на конфигурирование адаптеров не обращать внимания, то может оказаться, что два компьютера с одинаковым составом аппаратных средств и программным обеспечением будут после загрузки ОС иметь значительно различающиеся размеры стандартной памяти.
Многие адаптеры (контроллеры SCSI, адаптеры локальных сетей и др.) позволяют задавать адреса областей встроенных RAM и ROM, отображаемых в пространство памяти компьютера. Это позволяет разрешать (или, наоборот, создавать) конфликты использования UMA, а также оптимизировать использование ее блоков. При конфигурировании устанавливаемых адаптеров необходимо исключить перекрытия занимаемых адресов, поскольку из-за этого, скорее всего, ни одно из конфликтующих устройств работать не будет. Самый неприятный (трудно устранимый) конфликт возникает, если при конфигурировании какого-либо адаптера его память перекрывает буфер или BIOS графического адаптера. Если конфигурирование осуществляется джамперами, то вернуть нормальную конфигурацию труда не составит. А если адаптер конфигурируется только с помощью специальной утилиты, изменяющей содержимое его энергонезависимой памяти, то изменить его конфигурацию можно, лишь загрузив и выполнив соответствующую утилиту. Но при конфликте с графическим адаптером это сделать не так-то просто – в лучшем случае удастся загрузить компьютер со «слепым» экраном, а в худшем – POST откажется продолжать тестирование и загрузку, обнаружив ошибку графического адаптера и сообщив об этом попискиванием динамика. Но эта ситуация не так безнадежна: есть еще в природе графический адаптер MDA, у которого видеобуфер не совпадает по адресам с распространенными адаптерами EGA и VGA, а расширение BIOS у него отсутствует. Вставив неудачно сконфигурированную плату в компьютер с адаптером MDA (и, конечно, соответствующим монитором), можно утилитой задать правильную конфигурацию. Однако этот способ для новых компьютеров, не имеющих слотов шины ISA, уже непригоден.
Кроме занимаемого пространства, оптимизация использования UMA касается, как ни странно, и быстродействия. Для областей памяти адаптеров часто бывает полезным применение теневой памяти. Управление теневой памятью осуществляется через CMOS Setup для определенных областей. Поэтому, размещая конфигурируемые области памяти, иногда следует учитывать возможности задания границ теневой памяти в CMOS Setup. Необходимо помнить, что Shadow ROM блокирует запись, a Shadow RAM игнорирует возможность изменения со стороны адаптера затеняемой области памяти, что приведет к ошибкам при некорректном использовании теневой памяти. Для процессоров 386 и выше теневую память может организовать и драйвер EMM386, но этой его функцией пользуются редко.
Работу приложений в среде MS-DOS, в которой активно используется программный код BIOS, значительно ускоряет затенение ROM BIOS, как системной, так и BIOS графического адаптера и дискового контроллера. Для многозадачных ОС защищенного режима (Windows и др.) затенение ROM BIOS ускоряет только начальный процесс загрузки ОС, поскольку в рабочем режиме здесь в основном используются драйверы, загружаемые в ОЗУ.
Приложения ОС Windows пользуются виртуальной памятью , и никакие старые спецификации EMS и XMS им не нужны. Суммарный объем виртуальной памяти, доступной всем приложениям, определяется размером ОЗУ и файлов подкачки (их может быть и несколько). В Windows 9x размер файла подкачки изменяется динамически, по мере потребностей системы. Для того чтобы приложениям хватало памяти, на диске, несущем файл подкачки, должно быть достаточно свободного пространства (десятки и сотни мегабайт). Конечно же, важен и объем установленной физической памяти – ее малый объем может быть принципиальным ограничением на запуск ряда приложений или установку операционных систем. При малом объеме ОЗУ свопинг (подкачка страниц) будет слишком интенсивным, в результате чего скорость работы приложений существенно снижается (обращения к диску выполняются на несколько порядков медленнее, чем к ОЗУ). Приложения реального времени (например, аудио- и видеопроигрыватели и тем более кодеры) могут стать неработоспособными именно из-за малого объема ОЗУ. Поскольку файл подкачки изменяет свой размер в процессе работы, важно следить за фрагментацией диска, несущего этот файл – обращение к фрагментированному файлу выполняется медленнее, чем к нефрагментированному. При выборе диска для размещения файла подкачки следует учитывать его быстродействие – время доступа и скорость передачи данных. При использовании приложений реального времени, интенсивно обменивающихся с дисками (те же проигрыватели и кодеры, а также программы, записывающие компакт-диски), по возможности файл подкачки следует размещать на других дисках.
Если на компьютере под управлением ОС защищенного режима (Windows, Unix, OS/2...) перестают запускаться приложения с сообщениями о недостаточном объеме оперативной памяти – проверьте наличие свободного места на жестких дисках, используемых для подкачки. Если памяти не хватает приложениям MS-DOS – проверьте файлы AUTOEXEC.BAT и CONFIG.SYS и запустите утилиту MEMMAKER или выполните ручную оптимизацию памяти.
Увеличение физического объема оперативной памяти в ряде случаев может привести к неожиданному снижению производительности компьютера. Это возможно, когда системная плата (или процессор со вторичным кэшем) не способна кэшировать весь объем ОЗУ. У многих системных плат для процессоров Pentium кэшируются только первые 64 Мбайт ОЗУ; у первых процессоров Pentium II кэшировались только 512 Мбайт. Память, выходящая за размеры кэшируемой области, конечно же, доступна, но ее производительность гораздо ниже кэшируемой. ОС Windows 9x распределяет память, начиная с верхней границы доступной памяти, причем наверх попадает ее ядро, скорость работы которого существенна для работы многих приложений. Если после увеличения ОЗУ ядро попадает в некэшируемую область, можно наблюдать снижение производительности. Для лечения этого недуга можно воспользоваться условно-бесплатной программой W2CACHE.COM, которая запускается в начале загрузки Windows и, оставаясь резидентной, «съедает» верхнюю часть памяти, заставляя ядро Windows загружаться в нижнюю, кэшируемую область. После окончания загрузки Windows программа освобождает занимаемую память, и ОС отдает ее в распоряжение приложений.

Windows (XP и Vista) отлично управляет памятью, и по большей части сторонний продукт не требуется. Мы попробовали несколько бесплатных менеджеров памяти, но ни один не произвел достаточного впечатления, чтобы настоятельно его рекомендовать.

Большинство людей считают, что оптимизаторы памяти не что иное, как "змеиное масло" (выражение «змеиное масло» (snake oil) стало синонимом обмана. Согласно преданию, жулики продавали «змеиное масло» как лекарство от всех болезней. - Прим. ред.). И, в основном это правда. Большинство оптимизаторов памяти просто заполняют память в Windows, и помещают все в файл подкачки. Однако, есть пара программ, которые, кажется, действительно работают.

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

Обзор бесплатных программ оптимизации памяти

Программа оптимизации памяти CleanMem мощное и удобное решение

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

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

Она работает не как другие очистители памяти, которые по сути ничего не делают, кроме как заставляют Windows освободить память и использовать всю оставшуюся. Этот трюк, мягко говоря, замедляет вашу систему на большой промежуток времени!

Обновление:

CleanMem обновился до версии 1.6.4. С ней добавлено несколько замечательных особенностей. Наиболее драматическим является новый CleanMem мини-монитор. Он работает отдельно от CleanMem. Мини-монитор позволяет пользователю следить за текущим использованием памяти и очищать ее одним нажатием кнопки. Монитор только запускает CleanMem, чтобы тот сделал свою работу. Это новое дополнение к CleanMem, а не замена. CleanMem все также устанавливается и работает в фоновом режиме, а запускается с помощью планировщика задач так же, как это было всегда. Вы можете не использовать мини-монитор, если не хотите. Вы также можете скрыть его иконку в трее.

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

Специальное примечание: При установки у вас есть 2 варианта - вы можете либо установить 32-разрядную или 64-разрядной версию.

Программа оптимизации памяти FreeRAM XP достаточно настроить

Менеджер памяти, который не только работает, но, и кажется, не вызывает проблем, что вообще редкость для таких программ. Он работает в фоновом режиме, потребляет , и действительно освобождает немного памяти, когда вы попросите. Он также может быть настроен на автоматическое выполнение.

Освобождая память, улучшается ли производительность? На обоих тест-системах немного памяти освобождается, но это не имеет большого значения для производительности. Может быть, на старых компьютерах с меньшим объемом памяти, или при использовании приложений, таких как PhotoShop, которые съедают много памяти, такие программы смогут сильно изменить ситуацию, но мы не можем этого гарантировать. То, что мы можем сказать это то, что FreeRAM XP не вызывает проблем, кроме как зависание системы на 10-30 секунд на время освобождения памяти программой FreeRAM.

Кажется, что этот продукт уже не развивается. Последний релиз был в 2006 году.

Специальное примечание (более не актуально) :

Мы считаем, что пользователям с Windows 7 вообще не требуются оптимизаторы памяти. Складывается впечатление, что система сама справляется с этой задачей. Многие могут не согласится, однако, это наше мнение, и мы его никому не навязываем. Наши рекомендации для обладателей Windows 7 - оставить управление памятью системе.

Примечание : К сожалению, как показала практика, Windows 7 не всегда справляется с оптимизацией памяти. Поэтому, если у вас на компьютере возникли проблемы с потреблением оперативной памяти, то советуем вам использовать CleanMem, которая достаточно неплохо справляется с задачей.

Связанные продукты и ссылки

Mz Ram Booster Обратите внимание, что MZ RAM Booster требует. NET Framework 2.0 или выше. Недавно обновлен до версии 3.5.2 и в настоящее время в процессе развития. Работает во всех версиях Windows.

RAMBooster 2 . На самом деле есть 2 видео на CNET TV, в которых высоко отзываются о RAMBooster 2. Если Вы заинтересованы, просто перейдите по ссылке, и поищите RAMBooster. Версия 2.0. Обратите внимание, что последняя версия была выпущена в 2005 году. Кажется, процесс развития остановлен.

CachemanXP (К сожалению, стала триальной) Хотя это не только оптимизатор памяти, но мы также считаем нужным упомянуть о нем. CachemanXP несколько уникален. CachemanXP является утилитой для оптимизации Windows , и предназначен для повышения скорости и стабильности вашего компьютера путем оптимизации кеша, восстановления ОЗУ и настройки множества системных настроек. Оптимизация в один клик делает его пригодным для начинающих и опытных пользователей. Резервная копия изменяемых настроек может быть восстановлена одним кликом. CachemanXP работает на Windows XP, Vista, 7 x86 | x64 и использует минимум ресурсов.

Руководство по быстрому выбору (ссылки на скачивание бесплатных программ оптимизации памяти)

CleanMem

Установите и забудьте о нем! Расписание для очистки памяти на указанные пользователем промежутки времени. Кажется, действительно работает. Также доступна в портативной версия.
Трудно сравнить со всеми оптимизаторами памяти. Вы забудете о том, что программа установлена.

Лайкнуть

Лайкнуть

Твитнуть

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

Что такое оперативная память и зачем она нужна?

Оперативная память (или RAM - R andom A ccess M emory, или ОЗУ - О перативное З апоминающее У стройство) - энергозависимая память, используемая для временного хранения команд и данных, необходимых для вычислений, которые делает процессор (или процессоры) компьютера. Более точно и подробно об этом рассказано в Википедии , а я сосредоточусь на собственно проблеме свободного места в оперативной памяти.

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

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

В Windows запущенные программы физически могут располагаться не только «в платах оперативной памяти», но и на жестком диске в файле pagefile.sys. Этот файл называется «файлом подкачки» или «свопом» (от англ. swap).

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

Проблема заключается в том, что разница в скорости между оперативной памяти и жестким диском огромна . Наглядно это можно продемонстрировать так:

Чтобы в файл подкачки сбрасывались только ненужные данные, в Windows работает Менеджер памяти. Работает вполне успешно, благодаря чему на компьютере с 512 Мб ОЗУ можно запускать программы, занимающие более гигабайта памяти. Типичный пример - современные версии Adobe Photoshop, 3DS Max и многие другие программы для сложных вычислений. Конечно, при таком малом количестве оперативной памяти программы будут сильно тормозить, однако работать в них худо-бедно, но возможно.

Что же делают оптимизаторы памяти?

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

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

Типичный пример программ, требующих большие объемы ОЗУ - игры. Если игре требуется 2 гигабайта оперативной памяти - с этим ничего поделать нельзя. Без требуемого объема RAM играть будет проблематично из-за низкой частоты кадров - игра будет тормозить из-за того, что часть данных будет располагаться на медленном файле подкачки. Оптимизаторы оперативной памяти создают такой же негативный эффект - после освобождения памяти программам выделяется памяти меньше, чем им того требуется, из-за чего опять-таки начинаются «тормоза».

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

Замечание №2: С программами случаются ошибки под общим названием «утечка памяти «, когда программа беспричинно «разрастается» и занимает всю память без надобности, но в таком случае надо требовать от разработчиков этой программы исправления ошибки, а не освобождать память оптимизаторами.

Как работают оптимизаторы памяти

Программы оптимизации памяти (названия у них могут быть разные - SuperRAM, FreeMemory, Memory Management SuperProMegaEdition и т.п.) могут освобождать память несколькими способами, но все они завязаны на принципе обмана Менеджера памяти Windows:

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

Итог всегда один: программы начинают тормозить, зато циферка свободного места в оперативной памяти зеленого цвета и программа оптимизации памяти говорит, что все хорошо. В итоге пользователь радуется, открывает окно со свой любимой программой и… ждет. Потому что его любимая программа начинает сильно тормозить. Так будет до тех пор, пока программа не вернет «себя» в оперативную память из файла подкачки. В итоге оперативная память снова заполняется, индикатор свободного места снова сообщает о занятости памяти, пользователь злится, запускает очистку памяти и все происходит по второму (третьему, пятому, десятому) кругу.

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

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

Вывод №1: освобождение оперативной памяти оптимизаторами идет только во вред и снижает производительность.

Вывод №2: нельзя судить о скорости работы программы по тому, сколько места она занимает в оперативной памяти.

Вывод №3: если программа занимает много места в оперативной памяти, значит - она оперирует большими объемами данных. Помочь ей «думать» быстрее можно только увеличив объем оперативной памяти, т.е. поставив в компьютер побольше плат ОЗУ. Но это не поможет, если остальные характеристики ПК не соответствуют требованиям.

Чтобы не быть голословным, вот ссылка на аналогичные выводы с объяснением работы Менеджера памяти Windows: сюда.

Как надо оптимизировать память?

Самый очевидный способ повысить производительность компьютера - закрыть ненужные программы. Второй - установить побольше планок (плат) оперативной памяти, чтобы программы «чувствовали себя более вольготно» и работали пошустрее. Других способов ускорения компьютера, непосредственно связанных с оперативной памятью, нет.

Еще раз повторюсь: оптимизаторы памяти - бред с целью заработать деньги на доверчивых пользователях. Такой же глупостью является и подстройка «скрытых настроек памяти» в Windows, так как там все уже настроено наиболее оптимально после тестирования на большом количестве компьютеров. Специфичные моменты бывают, но к домашним компьютерам это не относится.

О свободной оперативной памяти в Windows Vista, 7, 8, 10

На форумах я часто вижу возмущенные крики (цитирую): «Поставил Windows 7 (8, 10), посмотрел Диспетчер задач, а там говорится, что занято полтора гигабайта или вся оперативная память! Windows 7 (8, 10) жрет очень много памяти! »

На самом деле все обстоит совсем не так и причин возмущаться нет. Совсем наоборот: в современных операционных системах свободная память отводится под кэш. Это происходит преимущественно благодаря функции SuperFetch. Благодаря кэшу программы запускаются быстрее, так как вместо обращения к жесткому диску данные загружаются из оперативной памяти (см. картинку выше, разница в скорости работы жесткого диска и ОЗУ написана жирным шрифтом). Если какой-то программе понадобиться больше оперативной памяти - кэш моментально сократит свой размер, уступив ей место. Подробнее об этом написано на Хабрахабре .

Выводы:

  1. Память очищать не нужно, потому что каждый байт объема используется максимально эффективно .
  2. Забудьте про оптимизаторы памяти - они не оптимизируют ничего, мешая работе кеша и прочим функциям Windows.
  3. Если занято много оперативной памяти сразу после включения компьютера - это абсолютно нормально и не является причиной медленной работы программ. Конечно, если автозагрузка забита десятком-другим программ, которые и занимают эту самую память, заодно нагружая процессор и эксплуатируя жесткий диск, тормозить будет обязательно. С такими программами нужно бороться, удаляя их или убирая из автозагрузки, а не очищать память оптимизаторами.

Также существует миф, что при использовании Windows Vista, 7, 8 и 10, кэш мешает программам. Якобы «когда программе нужно больше оперативной памяти, оказывается, что она забита кэшем, возникают тормоза». На самом деле это неправда. Кэш улетучивается мгновенно и программе сразу становится доступен нужный объем оперативной памяти.

Изменение размера файла подкачки, его перемещение или отключение

Тоже довольно распространенные, в некотором роде вредные, советы. Об этом есть хорошая статья на Хабрахабре. Я лишь приведу наиболее важные выводы той статьи, добавив свои, из личного опыта:

  1. Изменять размер файла подкачки нет особого смысла. Теоретически, в идеале надо выставить размер файла подкачки не больше того, который требуется запущенным программам, но проблема в том, что даже если вы используете одни и те же программы одних и тех же версий день ото дня, ситуации бывают разные (вы можете запустить в браузере одну вкладку, а можете сотню, каждую с открытой игрой на Flash) и требования к доступной памяти будут разные - предполагаемый «идеальный» размер файла подкачки будет меняться от минуте к минуте. Поэтому смысла изменять размер файла подкачки нет, так как «идеальный размер» файла подкачки меняется постоянно. Проще оставить тот размер, который определила система, и не морочить себе голову.
  2. Если отключить файл подкачки на системном разделе (при этом файл подкачки может использоваться на других разделах), не будет работать дамп памяти при ошибках BSOD. Поэтому, если система будет показывать «синий экран смерти», для выявления причины сбоя придется сначала включить файл подкачки на системном разделе, затем ждать повторения сбоя. Есть только одна ситуация, когда целесообразно отключать файл подкачки на системном диске (лишаться возможности диагностики) и включать на другом - если в компьютере установлено два и более физических жестких диска. Перемещение файла подкачки на другой физический диск может снизить количество подтормаживаний из-за распределения нагрузки на диски.
  3. Отключение файла подкачки (полное, т.е. на всех дисках) вызовет проблемы и вылеты ресурсоёмких программ. Вы не поверите, но даже сейчас, когда в домашнем ПК установлено в среднем 16 Гб RAM, встречаются программы, которым требуется больше. Лично я сталкивался с проблемами при рендеринге сложных сцен с помощью V-Ray и при работе в программе GIMP - эти программы довольно прожорливы по части доступной памяти и закрываются при её нехватке.
    Примечание: очевидно, что программы обычно не пишут данные в файл подкачки сами, за них это делает ОС (но бывают исключения). Как бы то ни было, отключенный файл подкачки нельзя рассматривать как часть нормального режима работы компьютера.
  4. Перемещение файла подкачки на RAM-диск (очень быстрый виртуальный диск, находящийся в оперативной памяти) нецелесообразно .
    Во-первых , и это самое главное, при запуске Windows RAM-диск может инициализироваться позже того момента, когда системе понадобится файл подкачки. Из-за этого может случиться что угодно - от BSOD до спонтанных подтормаживаний системы (столкнулся с перечисленным, когда проверял эту идею).
    Во-вторых , размер такого файла подкачки будет небольшой - память-то не резиновая. Возникает выбор - либо нехватка ОЗУ при большом файле подкачки в памяти, либо глюки программ при нехватке места в маленьком файле подкачки. Золотой середины нет, т.к. компьютер может выполнять совершенно разные задачи.
    Исключение, когда можно создать большой файл подкачки на RAM-диске - если у вас 16 Гб ОЗУ и больше. Однако при таком объеме ОЗУ файл подкачки почти не используется, пропадает смысл держать его в оперативной памяти.
    В-третьих , это просто бессмысленно, потому что своп нужен для расширения виртуальной памяти за счёт жёсткого диска или SSD.

Очистка файла подкачки

В файле подкачки pagefile.sys может храниться разнообразная информация конфиденциального характера - например, картинки из недавно открытых в браузере страниц. Это нормальный процесс, обусловленный особенностями работы программ в Windows. При желании можно включить очистку файла подкачки при выключении компьютера . Однако производительности этот твик никоим образом не прибавит, наоборот - серьезно замедлит выключение и перезагрузку компьютера.

Если вы не работаете с конфиденциальными данными, лучше не включать очистку pagefile.sys.

Доступность более 4 Гб оперативной памяти в Windows

Интернет буквально завален рассуждениями пользователей о том, почему в битной Windows доступно 3,5 Гб оперативно памяти вместо, например, установленных 4 Гб. Было придумано множество теорий, мифов, легенд. Например, считают, что это ограничение, сделанное Microsoft, которое можно снять. На самом деле это отчасти правда - принудительное ограничение действительно есть. Только снять его нельзя. Это обусловлено тем, что в 32-разрядных системах драйвера и программы могут нестабильно работать при использовании системой больше четырех гигабайт оперативной памяти. Для 64-битных Windows драйвера тщательнее тестируют, вышеупомянутого ограничения там нет.

В 32-битной Windows доступно только 4 Гб оперативной памяти, в 64-битной такого ограничения нет и доступно гораздо больше оперативной памяти - до 192 Гб.

Но не все так просто. Windows 7 Начальная (Starter) (и ее аналог у Vista) не видит больше 2 Гб оперативной памяти. Это тоже ограничение, только не по причине нестабильно работающего софта. Дело в том, что Windows 7 Начальная распространяется исключительно на маломощных нетбуках, по факту практически бесплатно, поэтому необходимо было дистанцировать ее от более дорогих изданий: Домашней базовой, Домашней Расширенной, Максимальной и т.д. Часть ограничений Windows 7 Starter можно снять , но только не ограничение на два гигабайта оперативной памяти.

Что касается остальных 32-битных изданий Windows XP, Vista, 7 и Windows 8/10: на практике пользователю доступно еще меньше - 3,5 Гб. Все дело в том, что драйвера тоже имеют свои адреса, которые лишают программы Windows доступа к части памяти в 512 мегабайт. Существует патч, позволяющий «задвинуть» такие адреса за пределы четырех гигабайт, чтобы система стала использовать все 4 Гб оперативной памяти, но это практически не имеет смысла:

  • Как я писал выше, драйвера и программы не смогут корректно работать после такого патча, так что система может начать зависать, выдавать ошибки, т.е. вести себя непредсказуемо.
  • Даже если в компьютере будет установлено плат оперативки на 8, 16, 32 Гб или больше - это никак не поможет их задействовать в 32-битном режиме операционной системы.

Какой смысл от доступности дополнительных 512 Мб оперативной памяти, если система станет нестабильной? Вот наглядный пример . Все равно придется ставить 64-битную Windows.

То, что видно 4 Гб оперативной памяти, не значит, что ее можно эффективно использовать. Проблема в том, что 32-битная Windows не может грамотно выделить процессу (программе) более 2 Гб физической оперативной памяти. Об этом многие забывают - и зря. Неважно, сколько оперативной памяти в компьютере, если программе нельзя дать больше 2 Гб ОЗУ. Пример: если пользователь работает в 32-битной Windows с Photoshop на компьютере с 4 Гб оперативной памяти - Фотошоп сможет задействовать всего лишь два гигабайта максимум, остальные данные скинет в файл подкачки и начнет тормозить. С играми то же самое.

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

Между тем, с серверными версиями Windows ситуация иная: там доступны гораздо большие объемы оперативной памяти даже в 32-битных версиях ОС. Почему так происходит, рассказано в статье Преодолевая границы Windows: физическая память от Марка Руссиновича.

Подводим итоги

  • Оптимизаторами оперативной памяти пользоваться нельзя.
  • Трогать настройки памяти - тоже, даже если в программе есть множество подсказок, дающих ощущение контроля над ситуацией.
  • Свободная оперативная память в Windows Vista/7/8/10 используется во благо, лучше не трогать этот функционал - все хорошо работает, улучшить практически ничего нельзя.
  • Если у вас тормозит компьютер, то это скорее всего не из-за занятой памяти (она занята полезным кешем), а из-за , либо большого количества запущенных программ или одной программы, которая все «забирает» себе.
  • Лайкнуть

    Волшебное слово «оптимизация» действует завораживающе. Конфигурация мечты, которую можно создать одним нажатием кнопки. Программ, разработчики которых обещают такое «чудо» достаточно много. Нам предлагают ускорение работы системы в целом или отдельных ее компонентов. Оптимизация оперативной памяти Windows одна из таких «секретных» технологий. Сегодня мы рассмотрим несколько утилит, предназначенных для этой цели, и разберемся насколько оправдано их применение.

    Использование оперативной памяти начинается в момент включения ПК. В нее загружается исполняемый код операционной системы и запущенных пользователем программ. Высокая скорость доступа к находящимся в ней данным ‒ одна из основных составляющих быстродействия компьютера. Одновременно с оперативной активируется виртуальная память. В Windows это отдельный файл pagefile.sys, размещенный в корне системного диска. Virtual Memory Manager, являющийся компонентом ядра ОС, выгружает в него данные запущенных, но не используемых в данный момент программ. В процессе работы пользователя с несколькими приложениями перемещение информации между оперативной и виртуальной памятью выполняется VMM в фоновом режиме. Таким образом, система самостоятельно поддерживает баланс использования памяти. При этом, являясь компонентом ядра, менеджер памяти имеет высший приоритет исполнения по отношению к любой программе. Все утилиты оптимизации для системы будут являться пользовательским приложением. Следовательно, любые попытки нарушить работу компонента ядра должны игнорироваться.

    «Оптимизаторы» RAM

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

    Wise Memory Optimizer

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

    Главное окно показывает общий объем и диаграмму текущего использования RAM. Нажатие на шестеренку в верхнем углу вызывает панель с настройками.

    Непосредственно оптимизации памяти касаются только два пункта. Запуск автоматической очистки при достижении определенного порога и режим взаимодействия с процессором.

    «Бегунок», отмечающий уровень начала оптимизации, выполнен неудачно. В момент регулировки цифровое значение не изменяется, а шкалы, по которой можно ориентироваться, не предусмотрено. При настройках по умолчанию работу с памятью программа начинает, только когда процессор не занят выполнением других задач. Иными словами, в тот момент, когда оперативная память освобождается и без ее участия. Под нагрузкой при достижении заданных 30% объема RAM «чуда» не произошло.

    При снятой галочке Wise Memory Optimizer будет «изображать бурную деятельность» каждые пять минут. Очистка по таймеру срабатывает независимо от заданного порога.

    Можно сказать, что программа безвредная. Пользы от ее использования нет никакого. После ручного запуска «оптимизации» показатели использования памяти возвращаются к первоначальным значениям в течение нескольких секунд.

    Mz Ram Booster

    Еще одна программа для оптимизации оперативной памяти. Поддержку ее разработчики прекратили в 2010 году, но она до сих пор пользуется популярностью.

    В англоязычной справке к Mz Ram Booster приводится перечень поддерживаемых версий ОС. Учитывая год выпуска, последней в списке значится Windows 7.

    Русская локализация интерфейса добавляется вручную с помощью XML-файла. Интересующие нас функции сосредоточены на первой, открывающейся при запуске утилиты, вкладке. В областях «2» и «3» приводятся данные о физическом размере RAM и виртуальной памяти. Размер файла подкачки Ram Booster определил неправильно. Четвертая рамка показывает доступные опции. Оптимизация и очистка RAM сводятся к удалению загруженных, но не используемых в данный момент DLL и данных. Раздел «Опции» содержит десяток оболочек для изменения внешнего вида программы и переключатель локализаций.

    Третья вкладка предназначена для тонкой настройки автоматической оптимизации в фоновом режиме. Можно выбрать рекомендуемые параметры.

    На скриншоте видно принятое программой решение.

    Нагружаем ОС выполнением нескольких ресурсоемких задач, и убеждаемся, что выдерживать самостоятельно определенные параметры программа не может. Учитывая прекращение поддержки разработчиками, максимум что ей можно доверить, это оптимизировать память в Windows 7 в ручном режиме.

    Mem Reduct

    Mem Reduct ‒ самая современная из рассматриваемых утилит c интерфейсом, выполненным в стиле Windows 10.

    В оформлении отсутствуют графики и диаграммы. Информация доносится до пользователя в цифровом режиме. Настройки собраны в меню «Файл», обозначенном на скриншоте.

    Опции управления распределены по четырем вкладкам. На первой находятся общие настройки поведения.

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

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

    Если задать порог очистки в 60-70%, программа агрессивно старается его выдерживать, выдавливая из памяти данные запущенных процессов.

    Выводы

    Работа описываемых утилит основана на «симуляции» обращения к памяти с большим объемом данных. VMM добросовестно освобождает место, а программа рапортует пользователю о выполнении очистки. Идеальным вариантом использования таких утилит будет разовый запуск после закрытия игрового приложения или ресурсоемкой задачи. В этот момент ПК «подтормаживает», не сразу освобождая место в ожидании повторного обращения к данным. Очистка поможет ему быстрее прийти в норму.

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

    Использование RAM в Windows 10

    Внутренняя оптимизация ОЗУ Windows 10 реализована Microsoft с использованием технологии предварительного сжатия. В Linux и MacOS, известных высокой стабильностью, она используется уже давно. В ранних сборках это отображалось в диспетчере задач в виде процесса «Система и сжатая память». Отсюда и пошло мнение о том, что Windows «жрет оперативку». Актуальные сборки ОС отображают работу с памятью в виде графика.

    Функция сжатия в целом повышает отзывчивость системы при работе с обычными приложениями, но может мешать в игровой конфигурации. Если при достаточном объеме RAM в играх заметно падает производительность, ее можно отключить.

    Вызываем меню Power User и переходим к указанному на скриншоте пункту.

    Откроется окно консоли управления Windows. В области быстрого перехода разворачиваем отмеченный раздел и выбираем пункт «Службы». В списке, открывшемся в правой части окна, ищем Superfeth. Открываем двойным щелчком меню редактирования параметров.

    В выпадающем списке, отмеченном стрелкой, меняем тип запуска на «Отключено». Останавливаем службу и подтверждаем свое решение.

    После перезагрузки оптимизация оперативной памяти Windows 10 будет отключена. Система начнет работать с RAM в старом стиле, не используя технологии сжатия.

    В заключение

    32-битные версии ОС имеют ограничение на использование объема оперативной памяти. Такая система не может управлять более, чем 4 Гб RAM. Чтобы идти в ногу со временем, стоит подумать о переходе на 64-битную Windows. Даже в редакции «Домашняя» она способна работать с объемом RAM 128 Гб. Для комфортного использования и работы современных приложений вполне хватит 8 Гб, а для игровой конфигурации – 16 Гб. В результате вы получите сбалансированную систему, которой не нужны никакие дополнительные оптимизаторы.

    Оптимизация оперативной памяти может значительно улучшить скорость работы компьютера, устранить «подвисания», и вообще, по-оптимизировать что-то очень полезно. В данной статье я расскажу про оптимизацию ОЗУ без использования специального софта. Этот способ пригоден на ПК под управлением Windows XP с объёмом оперативки не менее 256 Мб.

    Данный метод оптимизации оперативной памяти основан на несовершенстве операционной системы и стремлении её разработчиков унифицировать и универсализировать её. Windows XP появилась ещё тогда, когда я учился в школе, и мог только мечтать о собственном компьютере. С тех пор пошло уже 14 лет, и до сих пор эта ОС активно используется многими юзерами. Из-за того, что эта система распространилась в таком продолжительном периоде времени, стало необходимым сделать так, чтобы она удовлетворительно работала, как на слабых компьютерах времён начала сего столетия, так и на мощных современных. Отсюда вытекает, что XP работает на четвёрочку на тех и на других машинах, а ведь нам надо чтобы она вела себя на отлично на нашей современной машине.

    Итак, суть метода оптимизации оперативной памяти в том, что по умолчанию XP записывает в файл подкачки (ФП) информацию о собственном ядре, драйверах устройств и некоторых приложениях. Разработчики Windows сделали это для того, чтобы сэкономить физическую ОЗУ на маломощных старых железках.

    Как известно, ФП хранится на жёстком диске. И каждый раз, когда ОС к нему обращается, ответ приходит медленнее, чем, если бы она обращалась непосредственно к оперативке (было бы не плохо ещё и ). Поэтому если объём оперативка позволяет (нужно более 256 Мб, как было сказано), все эти данные можно переместить из ФП в ОЗУ.

    Оптимизация оперативной памяти начинается со .

    • В реестре находим ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\DisablePagingExecutive и ставим его значение равное 1. Это высвобождает из файла подкачки данные о драйверах и некоторые сведения ядра системы.
    • Кроме этого, Windows держит и другие сведения о своём ядре в файле подкачки, поэтому оптимизация оперативной памяти ещё не закончена. Следующий шаг – ключ HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SessionManager\MemoryManagement\LargeSystemCache и ставим тоже

    И на этом оптимизация оперативной памяти для успешной работы с Windows XP завершена – мы перенаправили на быструю оперативку некоторые данные, хранившиеся в файле подкачки инертного жёсткого диска, к которым часто обращается система.