Как настроить смартфоны и ПК. Информационный портал
  • Главная
  • Обзоры
  • Правильная настройка файла подкачки для windows 7. Настройка виртуальной памяти

Правильная настройка файла подкачки для windows 7. Настройка виртуальной памяти

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

Каким образом увеличить либо уменьшить файл подкачки в ОС Windows 7/8/10

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

Чтобы настроить параметры файла подкачки, следует зайти в «Свойства системы» («Мой компьютер » правой кнопкой - «Свойства »), а затем выбрать в появившемся списке «Защиту системы».


Сделать это быстрее можно, нажав на клавиатуре «Win+R » и затем введя команду sysdm.cpl (подходит для Windows 7/8/10).


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


Здесь можно настроить нужные параметры виртуальной памяти:

  • Увеличить либо уменьшить файл подкачки;
  • Отключить виртуальную память.
Далее разберемся, какой именно размер файла подкачки является наиболее подходящим для ОС Windows.

Как правильно выполнить настройку файла подкачки?

В некоторых статьях, посвященных оптимизации Windows, встречаются рекомендации относительно отключения файла подкачки в случае, если размер оперативки составляет 8 либо 6 гигабайт. Также в них рекомендуется использовать автоматический выбор размера файла подкачки. Основаны эти советы на следующем. Компьютер в случае отключения файла подкачки не будет использовать свой жесткий диск как дополнительную память. Это обеспечит увеличение скорости работы операционной системы (оперативная память компьютера в разы быстрее). Указав вручную точный размер файла подкачки (рекомендуется при этом исходный, а также максимальный размеры указывать одинаковыми), мы обеспечим высвобождение места на диске и сможем избавить операционную систему от необходимости настраивать размеры этого файла.

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

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

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

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

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


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

Файл подкачки - это файл который используется операционной системой Windows в качестве дополнительной .

К примеру у Вас в системе 1 ГБ оперативной памяти и вы запустили приложение (игру) которая минимум кушает 1.5 Гб дополнительные 0.5 ГБ будут браться именно из файла подкачки. Сам файл подкачки система берет с жесткого диска или с флешки, которые гораздо медленней оперативной памяти.

О файле подачки, наверняка слышал каждый, но мало кто представляет что это и какова эффективность использования.

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

Начнем с начала, где настроить и увеличить файл подкачки?

Заходим в Пуск - Панель управления - Система - Дополнительно - В первом пункте «Быстродействие» выбираем параметры .


Здесь мы переходим в пункт Дополнительно - в самом низу будет раздел «виртуальная память» в котором нажимаем «изменить»

Фух... наконец добрались. Чтобы задать файл подкачки, нажимаем на раздел диска, отмечаем пункт «Особый размер» , устанавливаем максимальный и минимальный размер файла подкачки, затем давим задать и кнопочку ОК.

Приступим к настройке

Снимаем файл подкачки с системного диска (тот на котором стоит Windows ). Это является одной из главных рекомендаций по установке файла подкачки. Почему так?

Дело в том что системный диск сильней нагружен чем остальные комплектующие, также на системный раздел обычно ставят 20-30 ГБ. Файл подкачки в 1-2 ГБ будет занимать ощутимое дисковое пространство на системном разделе.

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

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

Размер файла подкачки зависит от объема оперативной памяти, чем меньше оной, тем больше файл подкачки. Старых системах рекомендуется ставить в 2-3 раза больший файл подкачки чем реально стоит в системе.

То есть к примеру на компьютере 256 Мб ОЗУ, то желательно увеличить файл подкачки минимум на 512 МБ, еще лучше 1 ГБ.

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

Также, как вы наверно заметили, существует возможность отключить файл подкачки. Отключение файла подкачки, может значительно увеличить производительности. Чтобы полностью отключить файл подкачки, необходимо иметь достаточно большой запас оперативной памяти:

Для Windows XP – 3-4 ГБ ОЗУ

Для Windows Vista – 6 ГБ ОЗУ

Для Windows 7 – 6 ГБ ОЗУ

В некоторых случаях хватает и меньше оперативки, в особенности это касается Windows XP. На ней нередко достаточно 2 ГБ ОЗУ. Поэтому можете поэкспериментировать с отключением файла подкачки. В случае нехватки ОЗУ, вы получите сообщение о нехватке виртуальной памяти, также некоторые приложения закроются.

Если вы получили такое сообщение, то файл подкачки желательно выставить. В случае с 2 ГБ ОЗУ на Windows XP, будет достаточно 512 МБ. Если у вас Windows Vista/7 то ставьте 1 ГБ но не более, чтобы обращение к файлу подкачки происходило только в критических ситуациях.

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

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

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

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

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

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

Так что лучший вариант это купить дополнительно оперативной памяти, чем пользоваться жестким диском в качестве оной. Решать вам, а на сегодня все и удачного вам дня 🙂

Файл подкачки или иначе своп-файл (swap-file), является виртуальной памятью, располагающейся на одном из жёстких дисков, и представляет собой «продолжение» физической оперативной памяти (ОЗУ). Если при работе какого-либо приложения ему не хватает объёма установленного ОЗУ, то Windows 7 использует своп-файл для хранения данных приложения, то есть производит запись в него и чтение из него данных, которые не поместились в ОЗУ. Этот процесс записи и чтения носит название свопинга. В Windows 7 этот файл имеет строго определённое имя pagefile.sys, которое нельзя изменить.

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

Считается, что для получения хорошей производительности требуется задать минимальный объем файла подкачки, равный объёму ОЗУ, а максимальный – вдвое больше. То есть, если компьютер имеет ОЗУ размером 2 Гб, то для своп-файла следует задать минимальный и максимальный размеры, равные 2 и 4 Гб, соответственно. Задание двух этих параметров с различными значениями приводит к тому, что фактический размер этого объекта дисковой памяти изменяется динамически, значит, он будет подвергаться фрагментации и снижать быстродействие. Поэтому многие пользователи задают одинаковые значения. В этом случае pagefile.sys становится статическим (не фрагментируемым), что снижает нагрузку на систему и повышает её быстродействие. Но и в случае динамического своп-файла есть способ устранения снижения производительности, если включить очистку файла при завершении работы операционной системы.

Очистка своп-файла при завершении работы

Для включения очистки файла pagefile.sys при завершении работы операционной системы необходимо в режиме командной строки выполнить команду secpol.msc («Пуск – Выполнить»). В открывшемся окне следует найти элемент «завершение работы: очистка файла подкачки…». Двойным щелчком мыши по нему устанавливаем параметр безопасности в значение «Включён» и нажимаем кнопку «Применить». Эти действия показаны двумя следующими рисунками.

Выбор места расположения своп-файла

Windows 7 допускает располагать своп-файл одновременно на нескольких дисках, но этот вариант производительность системы не увеличивает. Наиболее оптимальным способом по отношению к производительности является один файл подкачки, расположенный на любом разделе жёсткого диска, кроме системного раздела. Для изменения места расположения pagefile.sys требуется вначале его удалить, а затем создать в нужном месте. Для этого щёлкаем «Пуск», а затем «Мой компьютер – Свойства» (правая кнопка мыши). В появившемся окне щёлкаем по «Дополнительные параметры системы».

Откроется окно, в котором нужно выбрать вкладку «Дополнительно».

Здесь в разделе «Быстродействие» нажимаем кнопку «Параметры» и в открывшемся окне снова выбираем вкладку «Дополнительно». Обращаемся к разделу «Виртуальная память» и нажимаем кнопку «Изменить». Открывается окно, позволяющее задавать местоположение и размеры своп-файлов на любых разделах жёстких дисков. Это же окно позволяет как отключить файл подкачки, так и включить его.

Как уже говорилось, по умолчанию Windows 7 размещает pagefile.sys в системном разделе диска, что видно по активированному пункту «Размер по выбору системы». Для переноса файла подкачки на другой раздел, его следует выбрать, активировать пункт «Без файла подкачки» и нажать кнопку «Задать». Этими действиями своп-файл удаляется из своего прежнего местоположения. Иногда после этого появляется сообщение с предупреждением об отключении этого файла или задании слишком малого его объёма, что может привести к возникновению системной ошибки. В этом сообщении следует просто нажать «Да».

Теперь переходим на создание файла в нужном месте. Для этого:

  • Выбираем требуемый раздел диска.
  • Активируем пункт «Указать размер».
  • Задаём размеры файла (минимальный максимальный).
  • Нажимаем кнопку «Задать».

Все эти действия показаны на следующем рисунке.

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

Следует отметить, что своп-файл может быть изменён в своих размерах без изменения его местоположения. Для этого все приведённые выше действия нужно выполнить без изменения раздела диска. Разумеется, излишне говорить, что во всех окнах с кнопкой «ОК» её следует нажимать по окончании всех требуемых действий. И ещё: при изменении объёма в сторону уменьшения изменения вступают в действие мгновенно, в противном случае может понадобиться перезагрузка, о чём пользователь получит сообщение, в котором нужно нажать «ОК».

Отключение и включение файла подкачки

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

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

  • Излишне говорить, что идеальным вариантом будет sys, расположенный на отдельном разделе жёсткого диска.
  • Материальное положение пользователя не сильно пошатнётся, если он установит дополнительные планки ОЗУ и вообще откажется от виртуальной памяти. Это даст увеличение скорости работы Windows Для неё вполне хватит 6 ГБ оперативной памяти.
  • Windows 7 производит постоянное увеличение размера своп-файла, что приводит к фрагментации жёсткого диска и лишним накладным расходам. Поэтому рекомендуется задать свой размер с одинаковыми значениями для минимального и максимального размеров.
  • Не следует задавать размер этого файла менее 1 Гб, иначе возможна фрагментация жёсткого диска.
  • Отдельной рекомендации требует случай использования в качестве системного SSD-диска. Это твердотельный накопитель, не имеющий механических вращающихся элементов. По сути – это большая флешка с очень высокой скоростью чтения-записи, обычно на порядок выше скорости жёстких дисков. Но при всех её очень хороших скоростных параметрах она имеет ограниченное число циклов запись-чтение. Поэтому очень важно обеспечить минимальное количество перезаписей на неё, а для этого нужно или вообще отключить своп-файл, или сделать его статическим.

Вконтакте

Как же разгрузить систему?Самый лучший и простой вариант- докупить оперативки, но если нет…Зайдем с другой стороны, в ОС windows предусмотрена виртуальная память, она включается в процесс для разгрузки ОЗУ и в нее переносятся незадействованные на данный момент программы. Когда в них есть потребность, они обратно грузятся в ОЗУ.

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

Начинаем настройку виртуальной памяти

Как я уже говорил этот способ универсален. Итак, открываем окно клавишами Win + R в нем пишем: sysdm.cpl. Жмем мышкой на ОК или нажимаем Enter.

Нам открывается «Свойства системы».Жмем «Дополнительно», в строке «быстродействие» жмем «Параметры»

Открылось нужное нам окно, здесь мы и вносим наши настройки.

Пошаговая инструкция по настройке

Как видите, сейчас установлен автоматический объем файла подкачки. Что бы это исправить, убираем галочку.

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

Пример: как правило, систему ставят на диске C, значит файл подкачки будем ставить на диск D

Какой размер для файла подкачки считается правильным

Здесь мнения разделяются.

  1. Есть мнение, что файл подкачки не стоит уменьшать или увеличивать, а оставить по умолчанию как есть.
  2. Размер виртуальной памяти должен быть в 1,5-2 раза больше ОЗУ.

Я за второй вариант).

Продолжим, выставляем нужные параметры. Если у вас например 2 ГБ. ОЗУ тогда в поле «Исходный размер» ставим 2048 и рядышком «Максимальный» ставим 4096.

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

Теперь главное, после всех настроек не забудьте нажать кнопку «Задать», а после «ОК» — так вы сохраните все изменения. После потребуется перезагрузить компьютер, об этом всплывающими окнами вам сообщит система windows.

На этом я заканчиваю, вопросы жду в комментариях).

P.S.Частенько делаю покупки на aliexpress , нашел классные стаканчики из нержавейки , набор 4 шт. походный вариант укладываются в чехол, что очень удобно. Можно брать с собой в поездку, много места не займут. Наверняка многие из вас знают, как делать покупки на aliexpress, но если не знаете, можете прочитать мою статью, в которой все подробно расписано.

Выбираем размер файла подкачки

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

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

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

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

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

Максимально возможный объем доступной виртуальной памяти зависит от разрядности операционной системы. Так в 32-разрядной системе процесс может адресовать не более 4 гигабайт (2 32) памяти. Для 64-разрядного процесса теоретическое ограничение составляет 16 экзабайт (2 64), а практически в современных 64-разрядных версиях Windows поддерживается адресное пространство объемом до 16 терабайт.

Примечание. Некоторые 32-разрядные версии Windows Server используют технологию PAE, позволяющую адресовать до 64ГБ памяти. Подробнее о PAE можно узнать .

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

Управление памятью происходит примерно так.

Виртуальное адресное пространство поделено на блоки равного размера, которые называют страницами (pages). Отсюда кстати и название page file — страничный файл. Физическая память также поделена на разделы, называемые страничными фреймами (page frames), которые используются для хранения страниц.

Каждому процессу при старте выделяется ″кусок″ адресного пространства в виртуальной памяти. Соответственно в каждый момент времени в памяти находятся страницы из виртуального адресного пространства каждого процесса. Страницы, находящиеся в физической памяти и доступные немедленно, называются действительными (valid pages), а страницы, которые в данный момент недоступны, например находящиеся на диске — недействительными (invalid pages).

При обращении процесса к странице памяти, помеченной как недействительная, происходит страничное прерывание (page fault). При возникновении прерывания диспетчер виртуальной памяти находит запрашиваемую страницу и загружает ее в свободный страничный фрейм физической памяти. Собственно этот процесс и называется подкачкой (paging).

При дефиците физической памяти диспетчер памяти выбирает фреймы, которые можно освободить и переносит их содержимое на диск, в файл подкачки. Принцип переноса такой: когда процесс использовал все выделенные ему фреймы, то при каждом страничном прерывании в этом процессе система удаляет из физической памяти одну из его страниц. Выбор страницы осуществляется по принципу первым пришел — первым ушел (first in, first out, FIFO), т.е. в файл подкачки переносится страница, дольше всех находившаяся в памяти.

У каждого процесса есть свой рабочий набор (working set) — набор страниц, находящихся в физической памяти. Рабочий набор определяет размер физической памяти, выделенной процессу, он имеет минимальный и максимальный размер. В момент запуска процессу назначается минимальный размер рабочего набора, т.е. минимальное количество страниц, которые гарантированно будут находится в оперативной памяти. При достаточном количестве свободной физической памяти процесс может увеличивать свой рабочий набор до размера, равного максимальному рабочему набору. Когда же начинается нехватка памяти, диспетчер виртуальной памяти начинает урезать рабочий набор всех процессов до минимального, удаляя лишние страницы из физической памяти.

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

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

Текущие настройки файла подкачки

Посмотреть текущий размер файла можно в оснастке Свойства системы (System Properties). Для этого надо нажать Win+R и выполнить команду sysdm.cpl . Затем перейти на вкладку «Advanced», в поле «Performance» нажать на кнопку «Settings» и в открывшемся окне перейти на вкладку «Advanced».

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

По умолчанию включено автоматическое управление размером файла подкачки. Это значит, что операционная система создает один файл подкачки pagefile.sys в корне системного диска и устанавливает его размер автоматически, исходя из своих потребностей.

Дамп памяти

Чтобы понять, чем руководствуется система при выборе размера файла подкачки, опять перейдем к теории и обратимся к такому понятию как дамп памяти (memory dump). Дело в том, что кроме расширения физической памяти файл подкачки имеет еще одно назначение — он используется при создании аварийных дампов памяти при сбоях системы. Происходит это следующим образом.

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

При следующей загрузке системы диспетчер сеанса (Session Manager Subsystem Service , SMSS) инициализирует файл подкачки и проверяет наличие в нем заголовка дампа. Если заголовок есть, то данные копируются из файла подкачки в файл аварийного дампа и делается соответствующая запись в системном журнале.

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

Полный дамп памяти (Complete memory dump) — в дамп записывается все содержимое оперативной памяти на момент сбоя, поэтому размер файла подкачки должен быть равен размеру физической памяти + 1Мб (для заголовка). Этот тип выбирается по умолчанию при количестве физической памяти меньше 4ГБ;
Дамп памяти ядра (Kernel memory dump) — в дамп записывается только память, выделенная для ядра ОС, драйверов устройств и приложений, работающих в режиме ядра. Дамп ядра занимает гораздо меньше места, чем полный дамп, при этом его как правило достаточно для определения причин сбоя. Этот тип дампа выбирается по умолчанию для систем с объемом ОЗУ 4ГБ и более. Минимальный размер файла подкачки должен составлять примерно 1/3 от объема физической памяти;
Малый дамп памяти (Small memory dump) — мини-дамп, в котором содержатся минимально необходимые данные: стоп-код и описание ошибки, список загруженных драйверов и информация о запущенных в момент сбоя процессах. Этот дамп требует файл подкачки не менее 2Мб;
Автоматический дамп памяти (Automatic memory dump) — новый тип дампа, появившийся в Windows 8\Server 2012 и более новых. На самом деле это тот же дамп ядра, единственная разница в том, что он позволяет системе динамически управлять размером файла подкачки, выбирая наиболее оптимальный размер.

Настройки дампа памяти находятся в расширенных свойствах системы, в разделе Загрузка и восстановление (Startup and Recovery). Здесь можно один из четырех типов дампа либо совсем отключить его создание.

Даже зная настройки дампа и объем физической памяти, не получится точно сказать, какого размера файл подкачки создаст система. Поэтому я решил немного поэкспериментировать, для чего взял в качестве подопытных 2 системы — клиентскую Windows 8.1 (x64) и серверную Windows Server 2012 R2 и проверил, как размер файла подкачки зависит от объема физической памяти и настроек дампа. Вот что получилось:

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

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

Определение необходимого размера файла подкачки

Хотя размером файла подкачки и можно управлять через настройки дампа памяти, однако это не самый прямой способ. Гораздо правильней настроить размер файла вручную. Остается только выяснить, какой размер можно считать достаточным.

Однозначного ответа на этот вопрос нет. Единственный способ более-менее точно установить размер файла подкачки — это собрать в данной конкретной системе данные по потреблению памяти и использованию файла подкачки, выяснить, какой максимальный объем памяти может быть занят службами\приложениями и насколько реально используется файл подкачки. На основании полученных данных и следует выбирать размер файла.

Оперативно оценить текущее потребление виртуальной памяти можно в Task manager, в разделе Performance (производительность). В поле Commited показано отношение используемой виртуальной памяти к ее общему количеству. В моем примере на компьютере установлено 64Гб оперативной памяти и такого же объема файл подкачки. Текущий объем виртуальной памяти составляет 128Гб, занято 65Гб. Из них 62,4Гб приходятся на оперативную память и 2,6Гб на файл подкачки.

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

Memory, Commited Bytes — этот счетчик показывает, какое количество байт в виртуальной памяти занято текущими процессами. Когда значение Commited Bytes превышает объем физической памяти, система начинает активно использовать файл подкачки;
Memory, Available Bytes — объем свободной физической памяти на компьютере. Этот параметр показывает загруженность оперативной памяти, а чем меньше физической памяти остается, тем активнее система использует файл подкачки.
Memory, Commit Limit — значение, равное сумме объема оперативной памяти и текущего размера файла подкачки. По другому — максимальное количество виртуальной памяти, которое может быть выделено всем процессам без увеличения размера файла подкачки.
Memory, %Commited Bytes In Use — показывает процент использования виртуальной памяти. Представляет из себя отношение Commited Bytes \Commit Limit.
Paging File, %Usage — процент использования файла подкачки, текущее значение.
Paging File, %Usage Peak — процент использования файла подкачки, пиковое значение.

Для более глубокого анализа потребления памяти можно дополнительно использовать такие счетчики:

Memory, Page Fault\sec — количество страничных ошибок (прерываний) в секунду при обращении к страницам памяти. Напомню, что страничное прерывание возникает при обращении к странице памяти, которая была выгружена на диск.
Memory, Pages\sec — показывает, сколько страниц в секунду было прочитано\записано в рамках страничного прерывания. Проще говоря, этот счетчик показывает интенсивность обмена данными между оперативной памятью и файлом подкачки. Представляет из себя сумму счетчиков Pages Input\sec и Pages Outpit\sec .
Process, Working Set — показывает текущее использование физической памяти активными процессами. Значение Total выдает суммарный объем по всем процессам, но можно вывести данные отдельно и по каждому конкретному процессу. Этот счетчик не имеет прямого отношения к файлу подкачки, но может помочь при диагностике проблем с производительностью.

Как видно на примере, 64-гигабайтный файл подкачки реально используется всего на 2-3%. То есть для нормальной работы с избытком хватит файла подкачки размером 4Гб. И это при том, что сервер очень прилично нагружен, для менее загруженного компьютера цифры будут еще меньше.

Отдельно стоит упомянуть о выборе размера файла подкачки для компьютеров с ролью Hyper-V. Дело в том, что в силу особенностей архитектуры гипервизор не использует файл подкачки для виртуальных машин даже в случае нехватки физической памяти. На серверах Hyper-V файл подкачки нужен исключительно для целей хостовой системы, в которой используется лишь небольшая часть ОЗУ (обычно не более 2-4ГБ). Поэтому создавать файл подкачки, исходя из общего объема физической памяти в данном случае абсолютно бессмысленно.

Настройка

Определив необходимый размер, переходим непосредственно о настройке. Для изменения размера файла подкачки открываем свойства виртуальной памяти и отключаем автоматический выбор размера. Затем в поле «Drive» выбираем логический диск, на котором будет располагаться файл, выбираем опцию «Custom size», указываем начальный и максимальный размер файла подкачки и жмем «Set». Для того, чтобы изменения вступили в силу, после настройки может потребоваться перезагрузка системы.

Для файла подкачки существуют некоторые ограничения:

Максимальный размер файла может быть не более 16ТБ для 64-битной и не более 4ГБ для 32-битной системы;
Можно создавать до 16 файлов подкачки, но каждый должен быть расположен на отдельном томе (логическом диске);
Для возможности создания аварийного дампа памяти необходимо, чтобы файл подкачки (хотя бы один) находился на системном диске.

Для автоматизации процесса настройки можно использовать вот такой PowerShell скрипт (подставив свои значения):

# Disable automatic management for pagefile
$ComputerSystem = Get-WmiObject -Class Win32_ComputerSystem -EnableAllPrivileges
if ($ComputerSystem.AutomaticManagedPagefile) {
$ComputerSystem.AutomaticManagedPagefile = $false
$ComputerSystem.Put()
}
# Set manual size for pagefile
$PageFile = Get-WmiObject -Class Win32_PageFileSetting -EnableAllPrivileges
$PageFile.InitialSize = 4096
$PageFile.MaximumSize = 8192
$PageFile.Put()

Заключение

В заключение некоторые практические советы, которые могут помочь в настройке.

При ручной настройке необходимо указать начальный и максимальный размер файла. В этом случае система создает файл начального размера, при необходимости увеличивая его до тех пор, пока он не достигнет максимального. При увеличении размера возможна фрагментация файла подкачки, что скажется на его быстродействии. Для борьбы с фрагментацией можно изначально указать начальный и максимальный размер одинаковыми. Тогда система сразу выделит под файл все необходимое место, а статический размер файла исключит возможную фрагментацию в дальнейшем.
Для увеличения производительности системы файл подкачки можно перенести на другой раздел. Уточню, что переносить файл стоит только на раздел, находящийся на другом физическом диске. Размещение файла подкачки на дополнительном раздел одного и того же диска не приведет к повышению быстродействия. На практике имеет смысл перенос файла подкачки на отдельный SSD-диск, это может дать заметный прирост производительности.
Еще один теоретический 🙂 способ повысить скорость работы с файлом подкачки — разместить его на отдельном, специально выделенном только под него разделе, для которого установить размер кластера 64Кб (вместо 4Кб по умолчанию). При работе с большими файлами (такими, как файл подкачки) большой размер кластера может повысить производительность файловой системы. Чем больше размер кластера, тем большими блоками читаются\пишутся данные, соответственно для одинакового объема данных при размере кластера 64Кб потребуется в 16 раз меньше операций чтения\записи, чем для 4Кб.
Кое где встречаются советы полностью отключить файл подкачки. Действительно, в отдельных случаях это может дать некоторый прирост производительности, хотя лично я не вижу в этом большой пользы. Как можно убедиться с помощью счетчиков производительности, при наличии свободной физической памяти ОС и так использует файл подкачки по минимуму, поэтому прирост будет незначительный. Если же при отключенном файле подкачки в процессе работы закончится физическая память, то приложение, потребляющее память, будет остановлено, что чревато сбоем в работе и потерей данных. Кроме того, при отсутствии файла подкачки Windows не сможет сохранить дамп памяти в случае сбоя.
И последнее. Манипуляции с файлом подкачки не особо сильно влияют на производительность системы в целом. Повторюсь, при достаточном количестве физической памяти файл подкачки используется по минимуму. Если же в системе постоянно не хватает памяти и она активно использует файл подкачки, то в первую очередь стоит подумать о расширении физической памяти.

Лучшие статьи по теме