Memory compression что это за процесс windows 10

Функция сжатия оперативной памяти в Windows 10 и 11 используется для оптимизации использования RAM за счет хранения части страниц в оперативной памяти в сжатом виде (компрессия). Благодаря использованию сжатия памяти процессов вы можете размещать больше процессов в физической оперативной памяти без складывания их в своп файла на диске. Нужные данные извлекаются из более быстрой оперативной памяти быстрее, даже с учетом того, что на их сжатие/декомпрессию тратятся дополнительные ресурсы процессора. При использовании сжатия памяти уменьшается использование RAM, снижается нагрузка на жесткий диск за счет меньшего количества операций ввода/вывода к файлу подкачки и сохраняется ресурс SSD.

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

Содержание:

  • Получить информацию о сжатой памяти в Windows 10
  • Процесс «Система и сжатая память» сильно грузит компьютер
  • Как отключить сжатую память в Windows 10 и 11?
  • Как включить сжатие памяти в Windows Server 2016/2019/2022 или Windows 10/11?

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

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

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

Get-Process -Name "Memory Compression"

Handles NPM(K) PM(K) WS(K) CPU(s) Id SI ProcessName
------- ------ ----- ----- ------ -- -- -----------
0 0 2184 53104 1 810,95 2388 0 Memory Compression

Get-Process -Name "Memory Compression"

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

Перейдите на вкладку Производительность (Performance), выберите раздел Память (Memory). Текущее значение использования сжатой памяти отображается в значении параметра Использование (сжатая)/ In Use (Compression). В моем примере Windows использует 4.4 Гб памяти, из которой в сжатом виде хранится 472 Мб. Чтобы понять, какой объем данных получилось сжать, нужно навести мышкой на график Структура памяти (Memory composition):

Используется сжатой памяти (471 Мб). В сжатой памяти хранится примерно 1721 Мб данных, освобождая для системы 1249 Мб памяти.

Как вы видите, уровень компрессии памяти достигает почти 400%, так что экономия RAM довольно большая.

Использование сжатой памяти отображается в диспетчере задач Windows

Вы можете найти более подробную информацию о нагрузке на CPU процессом Memory Compression и его размер в памяти Windows 10/11 с помощью утилиты Process Explorer.

Запустите Process Explorer и найдите процесс Memory Compression в дереве процесса System.

Proccess Explorer: нагрузка на компьютер процессом memory compression в Windows 11

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

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

get-service sysmain

оптимизация памяти в windows зависит от службы sysmain

В большинстве случаев, если Windows работает нормально и на нем установлен достаточный объём оперативной памяти, процесс «Сжатой памяти» работает отлично и не требует никакого вмешательства.

Процесс «Система и сжатая память» сильно грузит компьютер

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

процесс Система и сжатая память занимает большую часть оперативной памяти

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

Я приведу 2 совета, которые должны помочь исправить проблему с высокой загрузкой системы процессом «Сжатая память».

  • Отключите файл подкачки системы (опция Без файла подкачки), перезагрузите компьютер, включите файл подкачки (опция Автоматически выбирать размер файла подкачки) и еще раз перезагрузитесь.
  • Если проблема высокой загрузки процессом «Сжатая память» возникает только при выходе из режима сна или гибернации (а после перезагрузки пропадает), попробуйте скачать и установить с сайта производителя последние версии драйверов для ваших дисковых контроллеров (ACPI/AHCI/RAI SCSI), дисков и видеокарты. После чего желательно отключить автоматическое обновление драйверов.
    драйвера ssd диска

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

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

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

Get-mmagent

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

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

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

Disable-MMAgent –MemoryCompression

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

Restart-Computer

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

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

  1. Отключить службу SysMain или SuperFetch (
    services.msc
    -> SysMain-> тип запуска Отключена). Это отключит в Windows 10/11 современные процессы оптимизации памяти;
  2. Отключит задание обслуживания системы в планировщике RunFullMemoryDiagnosticEntry (Task Scheduler -> Библиотека планировщика -> Microsoft -> Windows -> MemoryDiagnostic -> RunFullMemoryDiagnosticEntry ->Отключить);

  3. Попробуйте отключить драйвер мониторинга сетевой активности (Network Data Usage — NDU (описано статье про невыгружаемый пул памяти Windows);
  4. Отключите проверку в реальном времени в вашем антивирусе. Возможно он некорректно работает со сжатой памятью;
  5. Проверьте целостность системных файлов образа Windows с помощью DISM и SFC.

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

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

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

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

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

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

  • Включен файл подкачки (хотя бы минимального размера – 16 МБ);
  • Служба SysMain должна быть запущена;
  • Используется Windows 10/11 или Windows Server 2016+ (можно узнать версию Windows с помощью команды winver или с помощью PowerShell).

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

Enable-MMAgent -MemoryCompression

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

При включении сжатия памяти автоматически включается еще одна функция SysMain — page combining. Эта функция диспетчера памяти используется для объединения страниц памяти с одинаковым содержимым (своеобразная дедупликация в RAM).

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

Если заглянуть в раздел «Производительность» — «Память» диспетчера задач Windows 11/10, вы можете увидеть пункт «Используется (Сжатая)». В более ранних версиях системы такого понятия как «сжатая» память не было и имеет смысл разобрать, что это такое.

На близкую тему могут быть полезными статьи: Что такое Кэшированная оперативная память Windows, Что делать, если невыгружаемый пул занимает память в Windows.

Как работает сжатие памяти в Windows

Как было отмечено выше, посмотреть количество сжатой памяти можно, зайдя в диспетчер задач (правый клик по кнопке Пуск — выбор соответствующего пункта меню) на вкладке «Производительность» в разделе «Память». Что такое сжатая память?

Сжатая память в диспетчере задач Windows

Предположим, что запущенные на вашем компьютере программы и сама операционная система требуют 20 Гб оперативной памяти для работы, а в наличии — лишь 16 Гб. Что при этом происходит?

  • В предыдущих версиях Windows «избыточные» данные, то есть как минимум 4 Гб выгружались в файл подкачки на вашем жестком диске или SSD.
  • Начиная с Windows 10 и такое поведение сохранилось в Windows 11, часть неиспользуемых в настоящий момент данных сжимается в оперативной памяти, то есть производится своего рода архивация прямо в оперативной памяти, без помещения страниц памяти на диск. Файл подкачки продолжает использоваться, но обращаться к нему приходится реже.

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

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

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

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

В первых версиях Windows 10, сжатое хранилище в памяти (compression store в терминологии Microsoft) отображалось как память, используемая процессом «System» или «Система и сжатая память».

Система и сжатая память в диспетчере задач

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

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

Если памяти 4 Гб, однозначно система будет активно использовать файл подкачки, то есть обращаться к жесткому диску. Если диск SSD, это может быть и не критично. Если диск шпиндельный, потери производительности могут стать даже больше, чем при использовании Memory Compression. Но надо помнить, что SSD имеет ограниченный ресурс чтения-записи. Поэтому слишком активное использование файл подкачки сокращает срок службы диска.

Более перспективным является отключение Memory Compression при объеме оперативной памяти 8 Гб и выше. Однако, приложения, использующие большой объем памяти, по прежнему могут использовать файл подкачки, если данные не помещаются в памяти.

Отключение Memory Compression производится из командной строки, запущенной с правами администратора, командой

После этого необходимо выполнить перезагрузку системы.

Проверить статус Memory Compression можно командой

В строке Memory Compression должно стоять значение False, если Memory Compression отключена и True, если Memory Compression включена.

Включение Memory Compression выполняется командой

Если есть сомнения в целесообразности отключения Memory Compression, можно попробовать поработать в системе с ней и без нее. А после этого принять решение, как система работает быстрее.

Memory Management is one of the major functions of an Operating system that controls and maintains the memory allocation for each system process. With the introduction of Windows 10 version 1507, Microsoft added Memory compression as the latest addition to its existing Windows Memory Management process. 

This memory management technique works by reducing memory usage by compressing some information stored in RAM. Although this feature comes enabled by default in Windows 10 and 11 systems, users have the option to disable it anytime.

If you are curious about this feature and wondering whether you should leave it enabled or turn it off, this article can help you decide on that. 

What is Memory Compression? 

Before we dive into what Memory compression really is, we must have a bit idea about “Paging”. This is a memory management process that uses the secondary memory or the storage drives to reduce the RAM’s workload. When the system detects that the RAM memory is running low, it transfers some sections of system processes, known as Pages, to the hard disk. 

These pages are located in the system volume of Windows (C: drive on most computers) as a file named pagefile.sys. This file contains information on the processes that are rarely used by the system. The system only retrieves that information from the file when needed. The paging process in this manner saves memory space.  

pagefile

Pagefile in the system volume

The drawback of paging is that the continuous read-and-write process in the hard drive takes time and causes system slowdowns.

Memory Compression addresses this drawback of paging by compressing the infrequently used pages rather than writing them on the disk. This decreases the frequency of reads and writes over the disk and also significantly improves the response time.

Memory compression offers more space for the system processes to be kept in the RAM and allows more tasks to run simultaneously.

How Does Memory Compression Work in Windows? 

Microsoft introduced memory compression from Windows 10 version 1507. From Version 1607, memory compression is no longer displayed as a “system and compressed memory” process in Windows and is located under Memory details on the Performance tab.

The general concept behind memory compression is to compress the memory pages that are not currently being used by any system processes or application in order to free up the main memory that can be used by other processes.

This reduces the need for the system to swap memory pages between physical memory and pagefile on disk, which can be a slow and resource-intensive process. 

Memory-compression

Aftermath of Memory Compression

Since accessing the memory is faster than accessing the drives, memory compression can contribute to memory space without significantly reducing the performance. When a page requires to be swapped, it can be first compressed and stored in the memory.

When needed again, the same page is decompressed and returned back. This overall process is way faster than swapping pages to the drives, although a bit slower than accessing the real memory as decompression is required. 

task-manager-1

Memory Compression Status

When compared with the previous version of Windows that did not feature memory compression, Windows 10 and later versions write to the disk only 50% of the time.

Windows also performs a large number of data compressions in parallel to reading data by making use of the CPU cores. This can increase CPU usage by a certain amount, which can be checked in the task manager. 

Should You Enable or Disable Memory Compression? 

Memory Compressions can provide significant performance benefits such as lower access time and reduced memory usage. This can be a great deal for those systems with a limited amount of physical memory. However, it can also exhibit additional system overhead as the compression and decompression of memory pages sometimes require a high amount of CPU resources. 

Although most experts do not recommend disabling the Memory compression on Windows, it all depends on the system resources and the user’s preference. If you are running an older system with limited Physical memory available, Memory compression can give you additional room for running more applications and processes, but it may depend upon the CPU you have.

A newer generation CPU is likely to handle the compression/decompression process efficiently.  However, if you are experiencing high CPU resources being consumed by this Memory management process, you may choose to disable it.

If your Windows device already has enough RAM, but the memory compression is triggering some performance issues on the device, you may choose to disable it in that case as well. On some systems, you may see no difference in performance whatsoever, whether the feature is enabled or disabled. 

How to Enable or Disable Memory Compression on Windows? 

As discussed earlier, Windows 10 & 11 have the Windows compression turned on by default. However, there are options for the users to enable or disable it at any time. Here’s how to do it. 

  1. Open PowerShell with administrative privileges.
    open-Powershell

  2. To check the status of the Memory Compression on your device execute this command.
    Get-MMAgent
    memory-compression-status

  1. Check the MemoryCompression field. If the value is “True”, the feature is already enabled. 
  2. To disable it, use the following command.
    Disable-MMAgent -mc
    disable-memory-compression

  3. To enable Memory compression, execute this command.
    Enable-MMAgent -mc
    enable-memory-compression

You are here: Home/ Windows/ What Is Memory Compression On Windows 10/11? [Complete Guide]

Windows memory compression helps to improve the system’s performance and store more data in the memory of your system.

The memory manager compresses the infrequently accessed memory pages.

This lowers the read and write to the page file, and improves your system’s responsiveness.

In Windows 10 and 11, memory compression can be enabled and disabled. Here we will discuss how to do both and also explain memory compression in detail.

Also read: Fix: Desktop Window Manager (dwm.exe) High Memory Usage

Memory compression is a technique to manage the memory of your system.

It reduces the size of the inactive data in the RAM and frees up the unused space.

With memory compression, you can use the total available physical memory of your device and run more programs.

With memory compression, you can compress some pages in RAM and optimize RAM utilization.

This way you will be able to keep more processes in the physical memory without paging the data out to disk and reading them from the page file.

When Was Memory Compression Introduced On Windows 10/11?

Windows memory compression was introduced in Windows Server 2016 and Windows 10 1507.

It was first introduced to run as a background process, but with Windows 1607 it became a separate process.

Memory compression is only available for Windows 10, 11 and not for Windows 7, 8 or other prior Windows versions.

Can Memory Compression Lead To High Usage Of RAM?

Windows uses a page file to store data that RAM cannot hold when it is full.

Memory compression is better than paging out the data to the disk. It is a much faster way.

But one thing you must remember is that in both compressing and uncompressing memory, you need to use some of the CPU resources.

Windows automatically compresses data whenever it requires space.

Your PC may become a bit slower due to memory compression.

So, if you find that memory compression is affecting the performance, you may need to upgrade your RAM.

How To Check Windows 10 and 11 Memory Compression Details?

To see the compressed memory details on your device, follow the steps given below:

  • Right-click on the Windows Start button and select Task Manager. You can also press Shift + Ctrl + Esc keys to open Task Manager.
  • Click on More details to expand the Task Manager interface.
  • Now go to the Performance tab and click on Memory from the left side.
  • You will get the details of the compressed Windows memory under In-use (compressed) section.

memory-in-use-task-manager

  • To get more details about your compressed memory, hover the mouse over the Memory Composition.

memory-composition-task-manager

Like here in my device, the system uses 3.7 GB of physical memory.

It has 188 MB of compressed memory and this compressed memory stores about of 575 MB data. So, there are 387 MB of memory savings.

How To Enable Memory Compression On Windows 10/11?

To enable Windows 10 and 11 memory compression, run the Enable-MMAgent –mc command in PowerShell. Here is how you can do it:

  • Enter Windows PowerShell in the search bar. Right-click on Windows PowerShell and choose to run it as administrator.

windows-powershell-run-as-admin-option

  • Type the following command in the command box and press Enter.

Enable-MMAgent –mc

Wait till the process gets completed. Restart your PC to apply the changes.

How To Disable Memory Compression On Windows 10/11?

Sometimes you may need to disable memory compression as it can slow down the performance of your PVC.

To disable Memory Compression on Windows 10 and 11, you have to run the Disable-MMAgent –mc command on Windows PowerShell.

Though I will recommend you to keep the feature on, if you want to disable memory compression then follow the steps given below:

  • Run PowerShell as an administrator.
  • Type the following command in the command box and press Enter.

Disable-MMAgent –mc

Disable-MMAgent –mc-powershell-command

  • Wait till the process gets completed. After that restart your computer to apply the changes.

Frequently Asked Questions [FAQs]

Here are answers to some common questions regarding memory compression on Windows 10 and 11. 

  1. Does Windows 10 and 11 Need Memory Compression?

Yes, memory compression is needed on Windows 10 and 11 as it optimizes RAM utilization, speeding up your PC.

  1. Is Memory Compression Good For Memory?

Yes, as it compresses the data before storing it, saving space for more files and eventually leading to a faster PC.

  1. Can I Turn Off Memory Compression On Windows 10 and 11?

Yes, you can turn off memory compression on Windows 10 and 11 by running the ‘Disable-MMAgent –mc’ command in Windows PowerShell.

Closing Up

So, Windows 10 and 11 memory compression optimizes RAM by compressing pages.

For further queries, reach us by commenting in the section given below.

Понравилась статья? Поделить с друзьями:
0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии
  • Windows 2019 server rutracker
  • Windows смена пароля доменного пользователя
  • Приложение icloud фото для windows
  • Как открыть команду выполнить в windows 10 от имени администратора
  • Windows forms label по центру