Memory Compression в Windows 10 — что это такое?
Приветствую всех, разбираемся с такой штукой как Memory Compression в Windows 10.. что это такое? Да, по названию могу предположить, что связано с оптимизацией памяти.. но нужно разобраться точно.
Значит покопался в интернете, вот что выяснил — переводится как сжатая память, это название вы можете увидеть в другом названии — Система и сжатая память. Может использовать много оперативной памяти.
Еще узнал, что процесс Система и сжатые файлы (System and compressed memory) — один из компонентов и.. вроде бы это какое новшество. Этот процесс уменьшает обращение к файлу подкачки, он помещает данные вместо этого в память в сжатом виде. Да, это как бы должно ускорить работу. Но вот… сжатие памяти и ее обратный процесс — не может обходиться без ресурсов процессора, поэтому на практике спокойно могут быть тормоза.
Жесткий диск — память, где хранятся файлы. Она медленная. SSD — уже намного быстрее, но все равно, по сравнению с оперативной памятью — очень медленный. Именно оперативная память — очень быстрая, поэтому хранение данных в ней всегда улучшает быстродействие компа.
Если вы используете проги, которые могут требовать много оперативки.. ну или в Хроме открыли кучу вкладок.. то процесс Система и сжатые файлы может использовать много оперативки. Это как бы нормально, но вот глюки при этом, разумеется должны отсутствовать.
Вот собственно сам процесс:

И как видите, даже здесь он много кушает оперы.. больше чем полгига..
Как отключить Система и сжатые файлы?
Если попробовать этот процесс завершить — могут быть проблемы.. об этом Windows вас предупредит таким сообщением:

Думаю вы понимаете, что это связано с тем, что вы получается завершите работу процесс.. в памяти которого содержатся данные, которые проги используют в данный момент.
Но можно ли отключить вообще? В интернете есть способы, например отключение службы SuperFetch. Теоритически — похоже что эта служба и отключает работу Система и сжатые файлы.. но насколько я знаю, SuperFetch отвечает за кэширование файла. То есть немного другое. Поэтому.. я на всякий случай напишу как отключать SuperFetch, после отключения ничего страшного не будет, но потребление памяти и правда может уменьшиться. В общем отключить можно так:
- Зажмите Win + R, появится окошко Выполнить.
- Напишите туда команду services.msc, нажмите ОК.
- Появится окно служб, найдите здесь SuperFetch, нажмите два раза.
- В окошке свойств выберите в менюшке Тип запуска — отключено, и потом еще нажмите кнопку Отключена. При возможности перезагрузите ПК.
Второй способ отключения, скорее всего более корректный
Но способ, более логичный — при помощи командой строки PowerShell, запущенной от администратора, для этого можно зажать Win + X и потом в менюшке выбрать этот пункт:

Либо просто откройте меню Пуск, найдите там Windows PowerShell, откройте папку, нажмите правой кнопкой по PowerShell и выберите пункт запуска от администратора:

Далее нужно указать команду для отключения:

Команду нужно вставить и нажать энтер. А после — выполнить перезагрузку. Потом, после перезагрузки советую проверить.. нужно снова запустить PowerShell и вставить команду:
Она покажет — включено сжатие памяти или нет. Нужно посмотреть в графу MemoryCompression, если там указано True значит включено:

Хм, если отключено.. то наверно будет написано обратное True, то есть False.
Ребята, на этом все. Надеюсь вам эта информация пригодилась. Если что не так, то сори. Удачи и добра, до новых встреч господа!
Как включить или отключить сжатую память в Windows 10/11 и Windows Server?
20.01.2022
itpro
Windows 10, Windows 11, Windows Server 2019
комментариев 16
Функция сжатия оперативной памяти в Windows 10 и 11 используется для оптимизации использования RAM за счет хранения части страниц в оперативной памяти в сжатом виде (компрессия). Благодаря использованию сжатия памяти процессов вы можете размещать больше процессов в физической оперативной памяти без складывания их в своп файла на диске. Нужные данные извлекаются из более быстрой оперативной памяти быстрее, даже с учетом того, что на их сжатие/декомпрессию тратятся дополнительные ресурсы процессора. При использовании сжатия памяти уменьшается использование RAM, снижается нагрузка на жесткий диск за счет меньшего количества операций ввода/вывода к файлу подкачки и сохраняется ресурс SSD.
Впервые Microsoft добавила поддержку сжатия памяти процессом Memory Manager (MM) в Windows 10 и Windows Server 2016. В этой статье мы рассмотрим, как посмотреть статистику по использованию сжатой памяти в Windows, как включить или отключить сжатие RAM (если ваш компьютер работает медленно из-за высокой загрузки процессом Memory Compression).
Получить информацию о сжатой памяти в Windows 10
Если диспетчер памяти Windows обнаруживает нехватку памяти, он пытается сжать неиспользуемые страницы памяти вместо записи их в файл подкачки на диске и за счет этого освободить ресурсы RAM для других процессов.
Изначально поток, отвечающий за работу подсистемы сжатой памяти, находилась внутри процесса System, что было не очень удобно с точки зрения диагностики.
В современных билдах Windows (Win 10 20H2 и Windows 11) этот функционал выделен в отдельный процесс Сжатая память (Memory Compression), который не доступен в диалоговом окне диспетчера задач. Получить информацию об этом процессе можно с помощью PowerShell командлета Get-Process:
Get-Process -Name «Memory Compression»

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

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

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

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

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

-
системы (опция Без файла подкачки), перезагрузите компьютер, включите файл подкачки (опция Автоматически выбирать размер файла подкачки) и еще раз перезагрузитесь.
- Если проблема высокой загрузки процессом «Сжатая память» возникает только при выходе из режима сна или гибернации (а после перезагрузки пропадает), попробуйте скачать и установить с сайта производителя последние версии драйверов для ваших дисковых контроллеров (ACPI/AHCI/RAI SCSI), дисков и видеокарты. После чего желательно отключить автоматическое обновление драйверов.
Если указанные манипуляции не помогли, можно попробовать полностью запретить Windows использовать сжатую память.
Как отключить сжатую память в Windows 10 и 11?
Если вы хотите проверить стабильность работы Windows без использования функции «сжатой памяти», можно временно отключать эту функцию. Для этого, откройте консоль PowerShell с правами администратора. Проверьте, включена ли сейчас опция компрессии памяти:
Строка MemoryCompression : True указывает на то, что сжатие памяти включено.
Чтобы отключить сжатую память, выполните:
И перезагрузите компьютер

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

- Попробуйте отключить драйвер мониторинга сетевой активности (Network Data Usage — NDU (описано статье про невыгружаемый пул памяти Windows);
Эти советы могут помочь избавится от чрезмерной нагрузки на компьютер со стороны процесса «Сжатая память». Но при этом отключаются базовые подсистемы оптимизации производительности Windows, что может негативно сказаться на общей производительности компьютера.
Как включить сжатие памяти в Windows Server 2016/2019/2022 или Windows 10/11?
Во всех версиях Windows Server сжатие памяти по-умолчанию отключено.
Выполните команду Get-mmagent , чтобы проверить что сжатие памяти отключено. На скриншоте ниже мы показали, что в Windows Server 2022 значение Memory Comression = False.

Чтобы Windows могла использовать сжатие памяти, должны быть выполнены следующие условия:
- Включен файл подкачки (хотя бы минимального размера – 16 МБ);
- Служба SysMain должна быть запущена;
- Используется Windows 10/11 или Windows Server 2016+ (можно узнать версию Windows с помощью команды winver или с помощью PowerShell).
Чтобы включить сжатие памяти, выполните команду:
Технология «Сжатой памяти» в Windows 10 и 11, как правило работает довольно эффективно и не требует никаких вмешательств. Если сжатие памяти вызывает проблемы на вашем компьютере, скорее всего у вас имеются проблемы с настройками Windows, оборудованием или драйверами. В случае необходимости, функцию сжатия памяти можно совсем отключить.
Предыдущая статья Следующая статья
Сжатая память в Windows 10 и Windows 11 — что это?

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

Предположим, что запущенные на вашем компьютере программы и сама операционная система требуют 20 Гб оперативной памяти для работы, а в наличии — лишь 16 Гб. Что при этом происходит?
- В предыдущих версиях Windows «избыточные» данные, то есть как минимум 4 Гб выгружались в файл подкачки на вашем жестком диске или SSD.
- Начиная с Windows 10 и такое поведение сохранилось в Windows 11, часть неиспользуемых в настоящий момент данных сжимается в оперативной памяти, то есть производится своего рода архивация прямо в оперативной памяти, без помещения страниц памяти на диск. Файл подкачки продолжает использоваться, но обращаться к нему приходится реже.
Второй подход сокращает потребность в обращении к HDD или SSD, ускоряет доступ к данным при необходимости, а также сокращает необходимый для работы объем оперативной памяти. Сжатие и распаковка данных в памяти требуют использования ресурсов процессора, однако, выигрыш в скорости по сравнению с файлом подкачки на диске должен быть и с учётом этого фактора.
В случае, если на вашем компьютере или ноутбуке нет нехватки оперативной памяти или множества запущенных, но не используемых программ и процессов, вероятнее всего вы почти никогда не увидите больших чисел в разделе «Сжатая память» — управление памятью Windows достаточно эффективно, чтобы не использовать её там, где это не требуется.

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

В последних версиях ОС мы можем наблюдать используемую сжатую память в диспетчере задач, а не в памяти, используемой процессами, что должно снизить переживания некоторых пользователей, которые ранее часто обращались с вопросом: Что делать, если Система и сжатая память грузит процессор или RAM.
Memory Compression in Windows 10
Read this article to find out what is memory compression in Windows and how to view the information on how much memory is compressed on your PC. What to do if your PC is low on system memory, and how to learn how much memory a certain process takes up.
Windows 10 uses the trick of memory compression to keep more data in your computer’s RAM. By opening the Task Manager and looking at the Performance tab, you can see the information on the size of the installed memory and how it is currently used. Among other things, some of it is marked as compressed. Let’s explore what is behind that term.
What is memory compression?
Memory compression is a new feature in Windows 10, which is not available on either Windows 7 or 8. Meanwhile, both Linux and MacOS also use the feature.
Usually, if you have 8 GB of RAM and the running applications (with the operating system) are using 9 GB of data to store in that RAM, at least 1 GB has to be saved to the paging file on your computer’s hard disk. Having to access data stored in the paging file slows down certain applications and the entire operating system in general.
However, using a compression algorithm (just like the one found in any ZIP file) can reduce the amount of memory needed for such data, so that it can fit into RAM perfectly. For example, you may end up having 6 GB of uncompressed data and 3 GB of compressed data (which is made to squeeze into 1.5 GB of RAM). This way, only 7.5 GB out of the 8 GB you have will be used.
Are there any disadvantages in this approach? The answer is both yes and no. Compressing and uncompressing data requires certain CPU resources, and that is why not all data is stored in a compressed form; Windows only compresses the data it finds necessary. The actual process of compressing and uncompressing the data is much faster than writing and reading it from the hard disk, though it does take some CPU resource, so Windows is actually looking for a compromise that would satisfy all processes running at the moment.
Why doesn’t Windows compress all data?
As we have just mentioned, compressing and uncompressing data is many times faster than writing and reading the same data from the HDD. As long as the operating system works with data compression automatically and without distracting the user, then why doesn’t it compress all data?
Well, working with uncompressed data is even faster than that. If Windows needs to search a large amount of data stored in RAM, the process of reading, uncompressing and then compressing the data back will take too much of the CPU time. Besides, the operating system reserves a part of the system memory for such uncompressing purposes.
All these things considered, Windows tries to keep the data which it addresses most often in an uncompressed form, while the data it uses not as intensively could be compressed or even placed into the paging file.
What to do if your PC is low on system memory?
So what shall you do if you see your Windows use large portions of compressed data, or has to handle an ample paging file? The evident answer is to add more RAM to your PC — so far, it’s the best solution ever. It is nothing but logical to use the fastest system memory modules that your motherboard can support.
A less obvious solution is to use an SSD for your paging file — or make that SSD your system drive. In one of our videos, we explored the topic of moving the paging file to another drive:
With SSD read and write speeds being much higher than those of a conventional HDD, the entire system will feel faster and more responsive.
How to view information on compressed memory on your PC?
To view the information about how much memory is compressed on your system, you’ll have to use the Task Manager. To open it, right-click on the taskbar and select Task Manager, or press Ctrl+Shift+Esc (for Windows 10 and 8), or press Ctrl+Alt+Delete (for any version of Windows) and then select Task Manager.
By default, Task Manager is shown with the simple interface, so click More details button in the lower left corner.
Go to the Performance tab and select Memory on the left. You’ll see how much memory is compressed under the words In use (compressed). For example, in the screenshot below, the Task Manager shows that the system is currently using 4.2 GB of the physical memory, while 21.6 MB is compressed memory.
This value fluctuates all the time depending on how many applications are running at a certain moment and how much memory they use. The amount of compressed memory can also change as the operating system does some things in the background, and you can observe these changes in real time.
From the screenshot, you can see that Windows can use the 8 GB of RAM this PC has. If this computer didn’t have a discrete graphics adapter, you would see one more figure below: Windows would have allocated 1 GB as hardware-reserved memory for the needs of integrated graphics. The memory form factor is DIMM, with 2 slots used out of the two available. The Cached value is 4 GB — which is the actual size of the paging file. If you position the mouse over the Memory composition section, Windows will display a pop-up tip with more info.
How to learn how much memory a certain process consumes?
To see detailed information on the amount of memory consumed by every process, click on the tab Processes, select the process you are interested in, and check the memory column to see the actual memory size it is using at the moment.
Some applications involve several processes running simultaneously, as is the case with Google Chrome. If you need the exact figure, add memory values for each of such processes to see the total memory consumption of an application.