Сайт о телевидении

Сайт о телевидении

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

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

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

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


В разделе Быстродействие нажимаем «Параметры »:


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


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


Теперь устанавливаем маркер напротив пункта «Указать размер » и заполняем два поля Исходный и Максимальный размер (учтите, что 1024 Мб соответствуют - 1Гб). Размер первого поля должен равняться объему вашей оперативной памяти ПК, а во втором увеличиваем это число в 2 раза. Некоторые специалисты рекомендуют делать их одинаковыми, это позволит избежать постоянной фрагментации файла и сможет ускорить его работу.

После того как вы определились с размером самого файла, нажмите кнопку «Задать » и «ОК », а также подтвердите ею все остальные открытые окна настроек.


Таким образом, мы изменили максимальный размер файла подкачки .

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

Далее будет описана последовательность действий при переносе файла подкачки на другой раздел диска, если таковой имеется (на скриншоте выше только один раздел).
1. Активируйте окно «Виртуальная память».
2. Также уберите галочку с настройки «Автоматически выбирать объем файла подкачки».
3. В списке выберите мышью раздел , на котором располагается файл подкачки, и укажите параметр «Без файла подкачки ».
4. Кликните по кнопке «Задать » и в появившемся диалоговом окне подтвердите ваши изменения.
5. Выберите новый раздел диска, на который хотите переместить данный файл.
6. При помощи переключателя укажите одно из значений:
- «Указать размер» - позволяет вручную указать размер файла.
- «Размер по выбору системы» - операционная система автоматически подберет оптимальный размер.
7. Кликните «Задать » и закройте все диалоговые окна при помощи кнопки «ОК ». Чтобы изменения вступили в силу, требуется перезагрузка ПК.

Файл подкачки или иначе своп-файл (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.

Примечание о ссылках в этой статье

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

Дальше в программе

Что такое файл подкачки и что дает его перемещение

В соответствии со справкой Windows Vista, где файл подкачки назван страничным файлом, это скрытый файл или файлы на жестком диске, используемые Windows для хранения частей программ и файлов данных, не помещающихся в оперативной памяти. Страничный файл и физическая память или память с произвольным доступом (RAM) составляют виртуальную память. По мере необходимости Windows перемещает данные из страничного файла в оперативную память и из оперативной памяти в страничный файл, чтобы освободить место для новых данных. Также назвывается файлом подкачки .

Размещение файла подкачки на специально отведенном для него разделе другого физического диска повышает быстродействие Windows, поскольку ускоряется обработка запросов ввода-вывода (I/O). Кроме того, размещенный таким образом файл не фрагментируется, что также способствует улучшению производительности.

Сколько должно быть файлов подкачки и где их размещать

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

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

Об этом, впрочем, говорится в другой статье (KB314482), где приводятся обоснования и преимущества такого подхода, а также другие советы по настройке файла подкачки. Например, там говорится, что при отсутствии файла подкачки на системном разделе, Windows не сможет создавать дампы памяти (memory.dmp), которые могут быть полезны для устранения неполадок ОС. Я рекомендую вам прочесть эту статью для более полного понимания преимуществ перемещения файла подкачки.

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

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

Имея в распоряжении несколько файлов подкачки, система сама выбирает быстрейший вариант. Поэтому в связке SSD+HDD два ФП полезны лишь в том случае, когда SSD загружен работой под завязку. Но с парой SSD два ФП вполне могут иметь смысл, и у меня сделано именно так.

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

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

Очевидно, что чем больше оперативной памяти установлено, тем меньше задействуется файл подкачки. Когда размер файла подкачки управляется системой, его максимальный размер не превышает трех объемов оперативной памяти. В большинстве случаев раздела с таким размером будет вполне достаточно. Увеличение файла подкачки без необходимости не повлечет за собой увеличения производительности — от этого система не станет активнее использовать его.

Как переместить файл подкачки

Заключение

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

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

Что надо сделать для улучшения работы компьютера - увеличить размер файла подкачки . Определимся, в понятии файл подкачки - это swap-файл, который имеется в каждой системе, второе название, виртуальная память. Если рассматривать более детально, то файл подкачки это «продолжение» оперативной памяти.

Назначение и как найти swap-файл


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

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

Как увеличить файл подкачки, где он находится на компьютере? Для грамотных пользователей найти его можно в разделе Windows, файл win 386.swp, для систем WinNT/2000/XP находим pagefile.sys, который помещается в корне дискового устройства.

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

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

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

Причины необходимые для увеличения объема файла подкачки:
Оперативную память можно увеличить, это стало доступно, и многие пользователи могут самостоятельно поднять её, делают до 4-8-ми гигабайт. В таком случае увеличение объема файла подкачки не играет значительной роли.
Не все персональные компьютеры имеют такой запас оперативной памяти, есть системы с 512 мегабайтами оперативки, для них увеличение объема файла подкачки, будет ускорять работу системы.

Совет: Не стоит делать объем swap-файла большим, этот файл имеет собственный предел, после которого он может просто занимать место на диске, а не ускорять работу ПК. Работая с приложениями DOS, файл подкачки нужно делать значительным по размеру, они берут много оперативной памяти.

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

В системах Win 9x/ME, размер оперативной памяти небольшой и применяется для работы swap-файл, реализация Microsoft в этих системах файла подкачки в динамическом виде, это когда он не имеет большого размера, а самостоятельно может увеличиваться по мере необходимости.

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

Совет: Имея 512-ть мегабайт оперативной памяти, файл подкачки желательно делать размером не меньше 1-го гигабайта. Когда оперативная память больше 512-ти мегабайт рекомендуется увеличить размер swap-файла в соотношении 1 к 1,5 или 2 единицам оперативной памяти.

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

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


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

Нажав на «быстродействие» , пользователь попадает в «параметры», где снова надо перейти в окно «дополнительно» .

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

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

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

Рассмотрим два случая работы системы:
Первый случай, когда в системном блоке 2-а диска, тогда файл подкачки желательно переместить на диск, который не занимают системные файлы. Этим мы добиваемся увеличения быстродействия системы. В данном варианте ограничиваем минимальный размер файла подкачки 1-им гигабайтом. Перезагружаем компьютер и включаем дефрагментацию для принятия сделанных изменений.
Второй случай, когда жесткий диск один swap-файл, должен быть в первом разделе. Необходимо помнить, что в большинстве случаев все ваши пароли хранятся именно в этом файле, и когда требуется, они доставляются в систему.
Настраивая файл подкачки правильно, мы ускоряем работу системы.

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

Совет: Для операционной системы Windows 7 желательно размер swap-файла минимальным делать по объему оперативной памяти, а максимальный размер должен быть увеличен в 2-а раза, от установленной оперативки.

Этими действиями достигается ускорение работы ПК с этой системой. Увеличиваем файл подкачки:
Нажимаем на «Пуск», затем ПКМ выбираем «компьютер». Переходим во вкладку «свойства», и находим «дополнительные параметры».
Далее, в «Дополнительных параметрах», находим, «быстродействие и параметры».
В кладке «параметры быстродействия» находим «дополнительно». Потом переходим во вкладку «виртуальная память», нажимаем «изменить». Открывается диалоговое окно.

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


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

Нажимаем кнопку «задать» .
Перезагружаем систему для принятия изменений.

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

Вопрос о размере файла подкачки довольно часто встречается на различных технических ресурсах, однако однозначных рекомендаций на этот счет нет. Попадаются как советы установить файл подкачки в 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 не сможет сохранить дамп памяти в случае сбоя.
И последнее. Манипуляции с файлом подкачки не особо сильно влияют на производительность системы в целом. Повторюсь, при достаточном количестве физической памяти файл подкачки используется по минимуму. Если же в системе постоянно не хватает памяти и она активно использует файл подкачки, то в первую очередь стоит подумать о расширении физической памяти.