Настройка размера файла подкачки из командной строки в Windows

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

В Windows для настройки файла подкачки pagefile.sys используется графический интерфейс апплета System Properties ( sysdm.cpl -> вкладка Advanced -> Perfomance Settings -> вкладка Advanced -> Virtual Memory -> Change).

Здесь можно посмотреть текущий размер файла подкачки (Total paging file for all drivers), проверить управляется ли он автоматически системой, изменить его начальный размер, лимит или совсем отключить использование файла подкачки.

Настройка файла подкачки из графического интерфейса Windows

Если вам нужно настроить файл подкачки на Windows Server Core (в котором отсутствует графический интерфейс), или на удаленном компьютере через интерактивную командную строку (или PowerShell Remoting), можно воспользоваться консольной утилитой wmic.exe.

Вывести информацию о местоположении файла pagefile.sys, текущем размере, текущем и пиковом использовании.

wmic pagefile list

wmic pagefile list - вывести текущие размер и используемые файлы подкачки

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

wmic computersystem set AutomaticManagedPagefile=False

После этого можно задать фиксированный размер файла подкачки (в Мб):

wmic pagefileset where name="c:\\pagefile.sys" set InitialSize=4096,MaximumSize=4096

Как правило, рекомендуется сделать одинаковыми начальный и максимальный размер файла подкачки. Это предотвратит фрагментацию и увеличит производительность (особенно актуально для HDD).

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

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

Вывести текущие пользовательские настройки файла подкачки:

wmic pagefileset

wmic pagefileset - пользовательские настройки

Если нужно вернутся к автоматическому управлению файлом подкачки системой:

wmic computersystem set AutomaticManagedPagefile=True

Параметры файла подкачки хранятся в ветке реестра HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management

  • PagingFiles – здесь настраиваются пути к файлам подкачки и их размеры, которые нужно создать при загрузке. Мульти-строковый параметр, может содержать несколько значений. Например, C:\pagefile.sys 4096 4096 – указывает что нужно использовать файл подкачки фиксированного размера на диске C:\ .
  • ExistingPageFiles – фактически используемые сейчас файлы подкачки (не редактируется напрямую)

Ветка реестра, в которой хранятся настройки файла подкачки

Если вам нужно задать фиксированный размер файла подкачки на нескольких одинаковых серверах/рабочих станциях, параметр реестра PagingFiles можно распространить через Group Policies Preferences.

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

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

Создаем файл подкачки на другом диске:
wmic pagefileset create name= "E:\pagefile.sys "

Задаем размер файла подкачки вручную:

wmic pagefileset where name="E:\\pagefile.sys" set InitialSize=4096,MaximumSize=4096

Удаляем старый файл подкачки на диске C:\:

wmic pagefileset where name= "C:\\pagefile.sys" delete

перенести файл подкачки на другой диск из командной строки

Однако, начиная с Windows 11 24H2 и Windows Server 2025, команда wmic по умолчанию не установлена в системе (deprecated), а в следующих билдах Windows ее планируют совсем удалить из образа.

Поэтому следует рассмотреть, как настроить файл подкачки в Windows с помощью PowerShell и CIM.

Отключаем автоматическое управление файлом подкачки:

Get-CimInstance -ClassName Win32_ComputerSystem | Set-CimInstance -Property @{AutomaticManagedPagefile = $False}

Задаем фиксированный размер pagefile:

$pagefile = Get-CimInstance Win32_PageFileSetting | Where-Object {$_.Name -eq "$env:SystemDrive\pagefile.sys"}

$pagefile | Set-CimInstance -Property @{InitialSize=4096; MaximumSize=4096}

Проверяем текущие настройки файла подкачки:

Get-CimInstance Win32_PageFileSetting | fl  *

Настройка параметров файла подкачки из PowerShell

Классические рекомендации делать размер файла подкачки равным x2 от размера RAM сейчас, конечно, не имеют смысла для машин с более чем 8 Гб RAM. Для серверов с большим количеством RAM (32 Гб и более), размер pagefile наоборот можно уменьшить, либо смотреть по реальным нагрузкам. Ну, а лучше всего, оставить все на автомате 😊.

Когда может понадобится ручная настройка файла подкачки:

  • Критичные сервера с жесткими требованиями по сбору полного дампа памяти (в этом случае размер pagefile должен быть больше объема физической RAM)
  • Хосты с ограниченным системным диском
  • Сервера с прогнозируемой нагрузкой, когда вы хотите предотвратить распухание pagefile.sys
  • Хосты виртуализации/VDI (Hyper-V) — файл подкачки можно сделать фиксированными и уменьшить до 4-8 Гб, т.к. он не будет использоваться под нагрузки виртуальных машин.


Предыдущая статья Следующая статья


Комментариев: 0 Оставить комментарий

Оставить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Я не робот( Обязательно отметьте)