Функция сжатия памяти в Windows 10, Windows 11 и Windows Server оптимизирует использование оперативной памяти (RAM), храня часть данных в сжатом виде. Это позволяет запускать больше процессов без обращения к файлу подкачки на диске, снижая нагрузку на жесткий диск и продлевая срок службы SSD. В статье описано, как проверить использование сжатой памяти, включить или отключить эту функцию, если она вызывает проблемы с производительностью.
Что такое сжатие памяти
Сжатие памяти, введенное в Windows 10 и Windows Server 2016, позволяет диспетчеру памяти (Memory Manager) сжимать неиспользуемые страницы вместо их записи в файл подкачки. Это ускоряет доступ к данным, несмотря на затраты процессора на сжатие и декомпрессию, и уменьшает операции ввода-вывода на диск.
Проверка использования сжатой памяти
Через Диспетчер задач
1. Откройте Диспетчер задач (Ctrl+Shift+Esc).
2. Перейдите на вкладку Производительность -> Память.
3. В разделе Использование (сжатая) указано текущее использование сжатой памяти (например, 299 МБ из 3.1 ГБ).
4. Наведите курсор на график Структура памяти для деталей:
— Пример: 319 МБ сжатой памяти хранят 805 МБ данных, освобождая 486 МБ (компрессия до 300%).
Через PowerShell
В Windows 10 20H2, Windows 11 и новее сжатие памяти выделено в процесс Memory Compression. Проверьте его:
Get-Process -Name "Memory Compression"
Через Process Explorer
1. Скачайте Process Explorer с оцифиального сайта Microsoft.
2. Найдите процесс Memory Compression в дереве System.
3. Проверьте нагрузку на CPU и объем памяти.
Роль службы SysMain
Сжатие памяти зависит от службы SysMain (ранее SuperFetch), которая оптимизирует память, сжимая и объединяя страницы. Проверьте статус службы:
Get-Service SysMain
Если служба отключена, сжатие памяти не работает.
Проблемы с процессом Memory Compression
В редких случаях процесс Memory Compression может сильно нагружать CPU или RAM (до 100%), вызывая замедление системы. Это может происходить после выхода из спящего режима, гибернации или из-за устаревших драйверов.
Решение 1: Перезапуск файла подкачки
1. Откройте Свойства системы (Win+R, sysdm.cpl, вкладка Дополнительно -> Быстродействие — Параметры -> Виртуальная память).
2. Выберите Без файла подкачки, нажмите Установить и перезагрузите компьютер.
3. Включите Автоматически выбирать объем файла подкачки, снова перезагрузите.
Решение 2: Обновление драйверов
Если проблема возникает после спящего режима или гибернации:
1. Скачайте последние драйверы для дисковых контроллеров (ACPI/AHCI/RAID SCSI), дисков и видеокарты с сайта производителя.
2. Отключите автоматическое обновление драйверов:
— Параметры -> Система -> О системе -> Дополнительные параметры системы -> Оборудование -> Параметры установки устройств -> Нет.
Отключение сжатой памяти
Если сжатие памяти снижает производительность, отключите его:
1. Откройте PowerShell с правами администратора.
2. Проверьте статус сжатия:
Get-MMAgent
Если MemoryCompression: True, сжатие включено.
3. Отключите сжатие:
Disable-MMAgent -MemoryCompression
4. Перезагрузите компьютер:
Restart-Computer
Дополнительные меры
— Отключите службу SysMain:
— services.msc -> SysMain -> Тип запуска: Отключена.
— Отключите диагностику памяти:
— Планировщик задач -> Библиотека -> Microsoft -> Windows -> MemoryDiagnostic -> RunFullMemoryDiagnosticEntry -> Отключить.
— Отключите мониторинг сетевой активности (NDU):
— В реестре: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Ndu, измените Start на 4.
— Отключите проверку антивируса в реальном времени.
— Проверьте системные файлы:
— sfc /scannow
— DISM /Online /Cleanup-Image /RestoreHealth
Примечание: отключение этих функций может снизить общую производительность системы.
Включение сжатия памяти
В Windows Server 2016, 2019, 2022 сжатие памяти отключено по умолчанию. Проверьте статус:
Get-MMAgent
Если MemoryCompression: False, включите сжатие:
1. Убедитесь, что:
— Файл подкачки включен (хотя бы 16 МБ).
— Служба SysMain запущена.
— Используется Windows 10/11 или Server 2016+ (проверьте: winver).
2. Выполните:
Enable-MMAgent -MemoryCompression
3. Перезагрузите компьютер.
Включение сжатия также активирует Page Combining — функцию объединения одинаковых страниц памяти для дополнительной оптимизации.
Когда сжатие памяти вызывает проблемы
Если сжатие памяти замедляет систему, возможные причины:
— Недостаток RAM.
— Устаревшие драйверы.
— Некорректные настройки Windows.
— Проблемы с оборудованием (например, SSD или CPU).
В таких случаях временно отключите сжатие и устраните первопричину.
Сжатие памяти в Windows 10/11 и Windows Server эффективно оптимизирует использование RAM, снижая нагрузку на диск. Проверьте использование через Диспетчер задач или PowerShell. Если процесс Memory Compression перегружает систему, обновите драйверы, перезапустите файл подкачки или отключите сжатие командой Disable-MMAgent. В Windows Server включите сжатие через Enable-MMAgent при необходимости.