На системном диске виртуальной машины десятки гигабайт занимают pagefile.sys и hiberfil.sys: что можно убрать без вреда, а что нельзя

Что было. Небольшой системный диск, а два скрытых файла в корне занимают до четверти места: файл подкачки pagefile.sys (в примере 13 ГБ при 16 ГБ памяти) и файл гибернации hiberfil.sys (6,6 ГБ). Вопрос: что с ними делать.

Что это.

  • hiberfil.sys хранит содержимое памяти при гибернации и используется быстрым запуском. На сервере и особенно на виртуальной машине гибернация не нужна: машину не «усыпляют», а выключают или ставят на паузу средствами гипервизора.
  • pagefile.sys это файл подкачки. Кроме расширения памяти, он нужен для записи дампа при синем экране и для того, чтобы система пережила всплеск потребления без падения процессов.

Что рекомендовали (принятый ответ).

  1. Отключить гибернацию: powercfg /h off от администратора. Файл hiberfil.sys исчезает сразу, это безопасно и на серверах правильно.
  2. Файл подкачки оставить под управлением системы либо задать фиксированный разумный размер; не отключать полностью.
  3. При тесном системном диске вынести файл подкачки на второй диск виртуальной машины и переместить туда же данные пользователей.

Как настроить подкачку на виртуальной машине с толком.

  • Панель управления → Система → Дополнительные параметры → Быстродействие → Дополнительно → Виртуальная память. Либо PowerShell: Set-CimInstance -Query "SELECT * FROM Win32_ComputerSystem" -Property @{AutomaticManagedPagefile=$false} и затем Set-CimInstance для Win32_PageFileSetting с InitialSize/MaximumSize.
  • Для сервера с 8–16 ГБ памяти фиксированные 4–8 ГБ обычно достаточно; «автоматически» на Windows Server может раздувать файл до размера памяти и больше.
  • Минимум для записи малого дампа памяти при сбое: несколько сотен мегабайт на системном диске; если файл подкачки целиком на другом диске, дамп не запишется, и разбирать синие экраны будет нечем. Компромисс: маленький файл (800 МБ) на C: плюс основной на D:.
  • Не ставить размер меньше физической памяти «для экономии», если на машине база данных или приложения с резкими пиками: OOM в Windows выглядит как падения процессов и событие 2004 «нехватка виртуальной памяти».

Что ещё занимает место на системном диске виртуальной машины (в порядке частоты): WinSxS и остатки обновлений, теневые копии в System Volume Information, журналы и дампы в C:\Windows\LiveKernelReports и Minidump, кэш пакетов установщиков в C:\Windows\Installer, профили пользователей и их Downloads. Об этих есть отдельные разборы; начинать с «Очистки диска → Очистить системные файлы».

Файл подкачки описан в документации Microsoft.