The Сжатие памяти Функция в Windows 10 и 11 используется для оптимизации использования физической оперативной памяти путем сжатия некоторых страниц в оперативной памяти. Используя сжатие памяти процессов, вы можете держать больше процессов в физической памяти без необходимости размещать их на диске. Необходимые данные извлекаются из оперативной памяти быстрее, даже если на их сжатие/распаковку тратятся дополнительные ресурсы процессора. Сжатие памяти позволяет сократить использование оперативной памяти, снизить нагрузку на жесткий диск за счет уменьшения количества операций ввода-вывода и сэкономить ресурсы SSD.

Microsoft впервые представила сжатие памяти с помощью процесса Memory Manager (MM) в Windows 10 и Windows Server 2016. В этой статье мы рассмотрим, как просмотреть статистику использования сжатой памяти в Windows, а также как включить или отключить сжатие оперативной памяти (если ваш компьютер работает медленно из-за высокой нагрузки на процесс сжатия памяти).

Сжатая память в Windows 10 и 11

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

Первоначально процесс Система и сжатая память находилась внутри процесса System, что не слишком удобно для устранения неполадок. В современных сборках Windows (Win 10 20H2 и Windows 11) эта функциональность выделена в отдельный процесс Сжатие памяти процесс, который скрыт от диспетчера задач. Получить информацию об этом процессе можно с помощью команды Get-Process PowerShell:

Get-Process -Name "Memory Compression"

Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
0 0 1548 380920 1,104.59 1764 0 Memory Compression

Get-Process -Name "Memory Compression" - получить рабочий набор в оперативной памяти

Текущий уровень использования сжатия памяти можно просмотреть только в диспетчере задач Windows.

Перейдите в Производительность выберите вкладку Память раздел. Текущее значение использования сжатой памяти отображается в окне Используется (сжатая) параметр. В моем примере используется 4,5 ГБ, из которых сжато 373 МБ. Чтобы понять, какой начальный объем памяти был сжат, наведите курсор мыши на Состав памяти граф:

In use compressed (373 MB). Compressed memory stores an estimated 1549 MB of data, saving the system 1176 MB of memory.

Как видите, уровень сжатия памяти достигает почти 315 %, так что экономия оперативной памяти весьма значительна.

использование сжатой памяти в windows 10

Также вы можете увидеть фактическое использование процессора и объем памяти, используемые процессом сжатия памяти в Windows 11/10 с помощью Process Explorer.

Запустите Process Explorer и найдите Сжатие памяти процесс в дереве процессов System.

проверка использования процесса сжатия памяти с помощью проводника процессов

Процесс сжатия памяти обслуживается файлом SysMain (ранее SuperFetch). SysMain уменьшает количество записей на диск (подкачку) за счет сжатия и консолидации страниц памяти. Если эта служба остановлена, то Windows не использует сжатие оперативной памяти.

Состояние службы SysMain можно проверить с помощью PowerShell:

get-service sysmain

служба sysmain и сжатие памяти в windows 10

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

Система и процесс сжатой памяти Высокое потребление процессора и оперативной памяти

Служба SysMain и процесс сжатия памяти используются для повышения производительности компьютера. Но иногда случается так, что процесс сжатия памяти начинает сильно нагружать процессор или жесткий диск компьютера (до 100 %, это можно увидеть в диспетчере задач), или занимает слишком много ресурсов оперативной памяти. Естественно, компьютер начинает медленно работать или зависает.

Система и процесс сжатия памяти высокое использование процессора и оперативной памяти

Что вы можете сделать в этом случае?

Я дам вам несколько советов, которые помогут вам решить проблему высокого использования ресурсов ПК процессом Compressed Memory

  • Попробуйте временно отключить файл страницы на вашем компьютере (Нет файла подкачки опция), перезагрузите компьютер, включите файл подкачки (Автоматическое управление размером файла подкачки для всех дисков опция), и снова перезагрузитесь;
  • Если проблема высокой загрузки компьютера процессом сжатия памяти возникает только после пробуждения из режимов Sleep или Hibernate (и исчезает после перезагрузки), попробуйте скачать и установить с официальных сайтов последние версии драйверов для ваших контроллеров хранения данных (ACPI/AHCI/RAID/SCSI), жестких дисков и видеокарты. После этого рекомендуется отключить автоматическое обновление драйверов. обновить драйвер диска

Если эти действия не помогли, можно попробовать полностью запретить Windows использовать сжатую память.

Как отключить сжатие памяти в Windows 10 и 11?

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

Get-mmagent

ApplicationLaunchPrefetching : True
ApplicationPreLaunch         : True
MaxOperationAPIFiles         : 512
MemoryCompression            : True
OperationAPI                 : True
PageCombining                : True

Параметр MemoryCompression: True показывает, что сжатие памяти включено.

Давайте отключим сжатую память в Windows:

Disable-MMAgent –MemoryCompression

И перезагрузите компьютер:

Restart-Computer

Disable-MMAgent -mc (полное отключение сжатия памяти)

Проверьте, изменилась ли общая производительность системы после отключения сжатой памяти. Если производительность повысилась, можно оставить Windows 10 с отключенной сжатой памятью.

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

  1. Отключить SysMain служба (ex SuperFetch) (services.msc -> SysMain -> Тип запуска: Disabled). Это отключит процессы оптимизации памяти Windows 10/11 в диспетчере памяти;
  2. Отключить полную диагностику памяти RunFullMemoryDiagnostic задача в планировщике задач (Task Scheduler -> Task Scheduler library -> Microsoft -> Windows -> MemoryDiagnostic -> RunFullMemoryDiagnostic (Обнаруживает и устраняет проблемы в физической памяти — RAM) -> Отключить;отключение задачи RunFullMemoryDiagnostic
  3. Попробуйте отключить драйвер мониторинга сетевой активности (Network Data Usage, NDU) (описан в статье о нестраничном пуле памяти в Windows);
  4. Отключите защиту в реальном времени в вашем антивирусе. Возможно, он некорректно работает со сжатой памятью;
  5. Проверьте системные файлы образа Windows с помощью DISM и SFC.

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

Как включить сжатие памяти в Windows Server 2016/2019/2022 или Windows 10?

Сжатие памяти отключено по умолчанию во всех версиях Windows Server.

Запустите программу Get-mmagent команду, чтобы убедиться, что сжатая память отключена. На скриншоте ниже мы показали, что в Windows Server 2022 значение Сжатие памяти = Ложь.

отключение сжатия памяти в windows server 2022

Для того чтобы Windows использовала сжатие памяти, должны быть выполнены следующие условия:

  • Файл подкачки должен быть включен (минимальный размер 16 Мб);
  • Должна быть запущена служба SysMain;
  • Вы используете Windows 10/11 или Windows Server 2016+.

Чтобы включить сжатие памяти в Windows, выполните команду PowerShell:

Enable-MMAgent -MemoryCompression

Перезагрузите компьютер.

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

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