Функция сжатия оперативной памяти в 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
В диспетчере задач Windows можно просмотреть только текущий уровень использования компрессии памяти.
Перейдите на вкладку Производительность (Performance), выберите раздел Память (Memory). Текущее значение использования сжатой памяти отображается в значении параметра Использование (сжатая)/ In Use (Compression). В моем примере Windows использует 4.4 Гб памяти, из которой в сжатом виде хранится 472 Мб. Чтобы понять, какой объем данных получилось сжать, нужно навести мышкой на график Структура памяти (Memory composition):
Используется сжатой памяти (471 Мб). В сжатой памяти хранится примерно 1721 Мб данных, освобождая для системы 1249 Мб памяти.
Как вы видите, уровень компрессии памяти достигает почти 400%, так что экономия RAM довольно большая.
Вы можете найти более подробную информацию о нагрузке на CPU процессом Memory Compression и его размер в памяти Windows 10/11 с помощью утилиты Process Explorer.
Запустите Process Explorer и найдите процесс Memory Compression в дереве процесса System.
Процесс сжатия памяти обслуживаются службой SysMain (ранее – SuperFetch). SysMain обеспечивает сокращение объёма записи на диск путём сжатия и объединения страниц памяти. Если эта служба остановлена, то в Windows не используется сжатие RAM.
Вы можете проверить состояние службы SysMain с помощью PowerShell:
get-service sysmain
В большинстве случаев, если Windows работает нормально и на нем установлен достаточный объём оперативной памяти, процесс «Сжатой памяти» работает отлично и не требует никакого вмешательства.
Процесс «Система и сжатая память» сильно грузит компьютер
Служба SysMain и процесс Memory Compression в подавляющем большинстве случаем улучшают производительность компьютера. Но иногда случается, когда процесс «Система и сжатая память» начинает сильно грузить процессор или жесткий диск компьютера (вплоть до 100%, это видно в диспетчере задач), или же занимать в памяти слишком много места. Компьютер, при этом, естественно, начинает сильно тормозить и подвисать.
Что делать в этом случае?
Я приведу 2 совета, которые должны помочь исправить проблему с высокой загрузкой системы процессом «Сжатая память».
- Отключите файл подкачки системы (опция Без файла подкачки), перезагрузите компьютер, включите файл подкачки (опция Автоматически выбирать размер файла подкачки) и еще раз перезагрузитесь.
- Если проблема высокой загрузки процессом «Сжатая память» возникает только при выходе из режима сна или гибернации (а после перезагрузки пропадает), попробуйте скачать и установить с сайта производителя последние версии драйверов для ваших дисковых контроллеров (ACPI/AHCI/RAI SCSI), дисков и видеокарты. После чего желательно отключить автоматическое обновление драйверов.
Если указанные манипуляции не помогли, можно попробовать полностью запретить 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
Проверьте, изменилась ли общая производительность системы после отключения сжатой памяти.
В некоторых случаях пользователям для исправления проблемы со сжатой памятью рекомендуют:
- Отключить службу SysMain или SuperFetch (
services.msc
-> SysMain-> тип запуска Отключена). Это отключит в Windows 10/11 современные процессы оптимизации памяти; - Отключит задание обслуживания системы в планировщике RunFullMemoryDiagnosticEntry (Task Scheduler -> Библиотека планировщика -> Microsoft -> Windows -> MemoryDiagnostic -> RunFullMemoryDiagnosticEntry ->Отключить);
- Попробуйте отключить драйвер мониторинга сетевой активности (Network Data Usage — NDU (описано статье про невыгружаемый пул памяти Windows);
- Отключите проверку в реальном времени в вашем антивирусе. Возможно он некорректно работает со сжатой памятью;
- Проверьте целостность системных файлов образа Windows с помощью DISM и SFC.
Эти советы могут помочь избавится от чрезмерной нагрузки на компьютер со стороны процесса «Сжатая память». Но при этом отключаются базовые подсистемы оптимизации производительности 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).
Чтобы включить сжатие памяти, выполните команду:
Enable-MMAgent -MemoryCompression
Перезагрузите компьютер.
При включении сжатия памяти автоматически включается еще одна функция SysMain — page combining. Эта функция диспетчера памяти используется для объединения страниц памяти с одинаковым содержимым (своеобразная дедупликация в RAM).
Технология «Сжатой памяти» в Windows 10 и 11, как правило работает довольно эффективно и не требует никаких вмешательств. Если сжатие памяти вызывает проблемы на вашем компьютере, скорее всего у вас имеются проблемы с настройками Windows, оборудованием или драйверами. В случае необходимости, функцию сжатия памяти можно совсем отключить.
Приветствую всех, разбираемся с такой штукой как Memory Compression в Windows 10.. что это такое? Да, по названию могу предположить, что связано с оптимизацией памяти.. но нужно разобраться точно.
Значит покопался в интернете, вот что выяснил — переводится как сжатая память, это название вы можете увидеть в другом названии — Система и сжатая память. Может использовать много оперативной памяти.
Еще узнал, что процесс Система и сжатые файлы (System and compressed memory) — один из компонентов и.. вроде бы это какое новшество. Этот процесс уменьшает обращение к файлу подкачки, он помещает данные вместо этого в память в сжатом виде. Да, это как бы должно ускорить работу. Но вот… сжатие памяти и ее обратный процесс — не может обходиться без ресурсов процессора, поэтому на практике спокойно могут быть тормоза.
Жесткий диск — память, где хранятся файлы. Она медленная. SSD — уже намного быстрее, но все равно, по сравнению с оперативной памятью — очень медленный. Именно оперативная память — очень быстрая, поэтому хранение данных в ней всегда улучшает быстродействие компа.
Если вы используете проги, которые могут требовать много оперативки.. ну или в Хроме открыли кучу вкладок.. то процесс Система и сжатые файлы может использовать много оперативки. Это как бы нормально, но вот глюки при этом, разумеется должны отсутствовать.
Вот собственно сам процесс:
И как видите, даже здесь он много кушает оперы.. больше чем полгига..
Как отключить Система и сжатые файлы?
Если попробовать этот процесс завершить — могут быть проблемы.. об этом Windows вас предупредит таким сообщением:
Думаю вы понимаете, что это связано с тем, что вы получается завершите работу процесс.. в памяти которого содержатся данные, которые проги используют в данный момент.
Но можно ли отключить вообще? В интернете есть способы, например отключение службы SuperFetch. Теоритически — похоже что эта служба и отключает работу Система и сжатые файлы.. но насколько я знаю, SuperFetch отвечает за кэширование файла. То есть немного другое. Поэтому.. я на всякий случай напишу как отключать SuperFetch, после отключения ничего страшного не будет, но потребление памяти и правда может уменьшиться. В общем отключить можно так:
- Зажмите Win + R, появится окошко Выполнить.
- Напишите туда команду services.msc, нажмите ОК.
- Появится окно служб, найдите здесь SuperFetch, нажмите два раза.
- В окошке свойств выберите в менюшке Тип запуска — отключено, и потом еще нажмите кнопку Отключена. При возможности перезагрузите ПК.
Второй способ отключения, скорее всего более корректный
Но способ, более логичный — при помощи командой строки PowerShell, запущенной от администратора, для этого можно зажать Win + X и потом в менюшке выбрать этот пункт:
Либо просто откройте меню Пуск, найдите там Windows PowerShell, откройте папку, нажмите правой кнопкой по PowerShell и выберите пункт запуска от администратора:
Далее нужно указать команду для отключения:
Disable-MMAgent –mc
Команду нужно вставить и нажать энтер. А после — выполнить перезагрузку. Потом, после перезагрузки советую проверить.. нужно снова запустить PowerShell и вставить команду:
Get-mmagent
Она покажет — включено сжатие памяти или нет. Нужно посмотреть в графу MemoryCompression, если там указано True значит включено:
Хм, если отключено.. то наверно будет написано обратное True, то есть False.
Ребята, на этом все. Надеюсь вам эта информация пригодилась. Если что не так, то сори. Удачи и добра, до новых встреч господа!
На главную!
22.07.2019
Сжатие памяти в Windows 10/11: какие варианты?
Одна из главных задач любой операционной системы — эффективно распределять ресурсы компьютера. Особое внимание уделяется именно оперативной памяти. В Windows 10 появилась возможность управлять одним из типов памяти при помощи функции MM (она же Memory Management) с целью сжатия страниц с редким к ним обращением. Это призвано изменить объём операций записи/чтения на/с диска (речь сейчас идёт за пресловутый pagefile.sys), теоретически давая возможность пользователю поиграть с производительностью вцелом. Сжимая память мы сокращаем общий её объём, используемый на обслуживание каждого конкретного процесса. Тем самым (продолжая логическую цепочку) давая всё большему количеству приложений работать именно с RAM до обращения к pagefile на диске, чья скорость ниже, чем у планок оперативной памяти. Даже сейчас, когда HDD заменяются на гораздо более быстрые SSD.
Когда Менеджер памяти заставляет вносить запись в pagefile, данные, записываемые на диск или с него читаемые, уже сжаты в среднем на 40% по сравнению с оригинальным своим размером. Сжатие таким образом призвано улучшить производительность остальных процессов за счёт снятия (или хотя бы снижения) воздействия или влияния на общий объём данных при вводе/выводе информации уже на экране. В итоге пользователь должен заметить более быстрые запуск и ответ от приложений. Но как всегда здесь есть одно НО: производительность в части высвобождения памяти в этом случае ложится на плечи центрального процессора. Сжатие памяти ускоряет производительность системы за счёт уменьшения числа обращений к pagefile.sys, то бишь к диску (который — файл — конечно, никуда не удаляется). Но процессор при этом «немного поднагрузится». При этом следует учесть, что под улучшением производительности не стоит понимать именно УСКОРЕНИЕ системы. Если вы видите большой объём памяти в части сжатой в Диспетчере задач, и в этом вы вините именно нехватку памяти, есть смысл прибегнуть к:
- установке дополнительных планок оперативной памяти (увеличение физической памяти компьютера);
- или отключению сжатия памяти, перенося нагрузку на процессор.
Включено ли сжатие памяти сейчас?
- запускаем консоль Powershell от имени администратора
- вводим команду
Get-MMAgent
- проверяем вывод консоли. В части выводимых данных в строке MemoryCompression вы увидите либо False (Не Включено) либо True (Включено):
Как включить или выключить сжатие в Windows 10/11?
- Сжатие включается из той же консоли Powershell командой
Enable-MMAgent -mc
Результаты включения сжатия проявят себя при определённых обстоятельствах, то есть при серьёзной нагрузке на систему.
- Выключаем так:
Disable-MMAgent -mc
Обе операции подразумевают перезагрузку Windows.
ВНИМАНИЕ. При отключении сжатия Windows после перезагрузки может на некоторое время зависнуть.
Нужно ли включать сжатие памяти в Windows?
Вопрос, как вы поняли по предыдущим абзацам, скользкий. По идее система выбирает эту «настройку» самостоятельно. Однако мне лично известен случай, когда на компьютере со следующими характеристиками:
- Windows 10 Профессиональная
- Intel® Core™ i5 2,8 ГГц 6200U
- 16 ГБ RAM
пользователь начал замечать серьёзные лаги в части производительности при загрузке процессора в границах 80% и выше. Короче, играл напропалую. При этом владка Диспетчера с памятью не диагностировала подъём потребления выше 60%, а сжатие памяти было включено. В качестве пробы было принято решение ОТКЛЮЧИТЬ сжатие, после чего системные прерывания перестали перегружать процессор. Беспричинные задержки в работе Windows также прекратились. Не рассматривайте описанное как призыв к действию, просто бросьте в копилку знаний.
Успехов.
Производительность компьютера зависит от многих факторов, обуславливаемых не только объемом ресурсов компонентов «железа», но и их правильным распределением. С целью такого улучшения распределения в Windows была разработана и внедрена функция сжатия оперативной памяти, позволяющая уменьшить количество операций чтения/записи области медленной виртуальной памяти, известной как файл подкачки.
Компрессия/декомпрессия страниц осуществляется силами процессора, тем не менее, получаемый профит в скорости обмена данными памяти покрывает избыточную загрузку CPU.
На деле, конечно, не всё так однозначно. Взвесить все «за» и «против» использования функции сжатия памяти можно лишь протестировав функцию на конкретном компьютере, но сначала ее нужно включить, если она по какой-то причине оказалась отключена.
Изначально управляющий подсистемой сжатой памяти поток находился внутри системного процесса System, в Windows 10 1511, а затем и в Windows 1607 он был вынесен в отдельный скрытый процесс, недоступный для просмотра в Диспетчере задач. Просмотреть в оном на вкладке «Производительность» можно лишь объем используемой сжатой памяти.
Также получить сведения о сжатой памяти можно командой:
Get-Process -Name «Memory Compression»
В запущенной от имени администратора консоли PowerShell.
Если же нужно проверить, включена ли сжатая память или нет вообще, выполняем команду Get-MMAgent и смотрим значение параметра MemoryCompression.
True будет означать, что функция сжатия памяти активна, False — что она в данный момент отключена.
Чтобы включить функцию, выполняем команду:
Enable-MMAgent -mc
Чтобы отключить:
Disable-MMAgent -mc
Новая конфигурация применяется после перезагрузки компьютера.
В большинстве случаев функция «Сжатая память» работает корректно, не требуя со стороны пользователя никаких действий и вполне оправдывая свое назначение, но гарантии, что так будет всегда, нет никакой.
Если вы заметили, что функция грузит процессор (в последних версиях Windows ее процесс виден и имеет название «Система и сжатая память»), ее можно отключить, хотя вообще-то это следует считать радикальным решением.
Столкнувшись с загрузкой функцией процессора, попробуйте для начала отключить файл свопа, а затем, перезагрузившись, включить его вновь опцией «Автоматически выбирать размер файла подкачки».
Загрузка…
Memory Compression (компрессия памяти) – это новая функция операционной системы Windows 10, которая используется для оптимизации использования оперативной памяти компьютера. Она позволяет снизить объем используемой памяти путем сжатия данных в реальном времени.
Когда ваш компьютер испытывает нехватку оперативной памяти, Memory Compression позволяет системе сжать данные, которые не используются в данный момент. Сжатие данных помогает освободить оперативную память для других процессов и приложений, что в свою очередь может улучшить производительность компьютера.
Однако, не всегда Memory Compression может оказаться полезной. Некоторые пользователи отмечают, что при включенной компрессии памяти происходят задержки и снижается производительность. Если вы заметили подобные проблемы, то вы можете отключить функцию Memory Compression в настройках Windows 10.
Для отключения компрессии памяти в Windows 10 перейдите в раздел «Параметры системы» и найдите вкладку «Диспетчер задач». В открывшемся окне выберите вкладку «Процессы» и найдите процесс под названием «System and Compressed Memory». Щелкните правой кнопкой мыши на этом процессе и выберите «Открыть файл местоположения». В появившемся окне найдите файл с расширением «.exe» и щелкните правой кнопкой мыши на нем. В контекстном меню выберите «Свойства», а затем установите флажок «Отключить». После этого перезагрузите компьютер для применения изменений.
Содержание
- Memory Compression в Windows 10
- Работа и принципы Memory Compression
- Преимущества и недостатки Memory Compression
- Как отключить Memory Compression в Windows 10
- Зачем отключать Memory Compression в Windows 10
Memory Compression в Windows 10
При работе с большим количеством открытых приложений и процессов, оперативная память может становиться ограниченной. Чтобы минимизировать использование жесткого диска для хранения промежуточных данных, Windows 10 использует Memory Compression.
Memory Compression использует алгоритм сжатия для упаковки данных в оперативной памяти. Это позволяет уменьшить объем используемой памяти и ускорить доступ к данным. Когда приложение или процесс требует доступ к упакованным данным, они автоматически распаковываются.
Таким образом, Memory Compression в Windows 10 улучшает производительность компьютера, особенно при работе с ограниченным объемом оперативной памяти.
Если вы хотите отключить Memory Compression в Windows 10, следуйте следующим шагам:
- Откройте «Панель управления» и найдите раздел «Система».
- В разделе «Система» выберите «Дополнительные параметры системы» в левой панели.
- В появившемся окне выберите вкладку «Дополнительно» и нажмите кнопку «Настройка» в разделе «Производительность».
- В окне «Параметры производительности» выберите вкладку «Дополнительно» и найдите раздел «Виртуальная память».
- Нажмите кнопку «Изменить» в разделе «Виртуальная память».
- Снимите флажок «Автоматически управлять размером файла подкачки для всех дисков» и выберите «Нет файл подкачки».
- Нажмите кнопку «Установить» и перезагрузите компьютер.
Обратите внимание, что отключение Memory Compression может привести к увеличению использования жесткого диска и снижению производительности системы, если объем оперативной памяти ограничен.
Работа и принципы Memory Compression
Принцип работы Memory Compression заключается в том, что операционная система определяет наиболее часто используемые и наименее используемые данные в оперативной памяти. Затем она сжимает наименее используемые данные с использованием специальных алгоритмов сжатия, таких как LZ77 или LZ77+Huffman, и сохраняет их в своем сжатом виде в специальной области памяти, называемой комреспейдж («compressed page»).
Когда приложения или процессы требуют доступ к данным, которые были сжаты, операционная система автоматически распаковывает сжатые данные и возвращает их в исходное состояние. Это происходит прозрачно для пользователей и приложений, их работа не прерывается, и они не замечают никаких задержек при доступе к данным в памяти.
Благодаря Memory Compression операционная система может существенно снизить использование физической памяти, а также улучшить производительность, особенно на системах с ограниченным объемом оперативной памяти. Отключение Memory Compression может привести к увеличению использования памяти системой и снижению производительности, поэтому рекомендуется оставить эту функцию включенной, если не возникают серьезные проблемы с памятью или производительностью.
Преимущества и недостатки Memory Compression
Основные преимущества использования Memory Compression в Windows 10:
Преимущества | Описание |
---|---|
Экономия памяти | Memory Compression сжимает данные в оперативной памяти, что позволяет уменьшить количество используемой памяти компьютера. Это особенно полезно на устройствах с ограниченным объемом оперативной памяти, таких как планшеты или ноутбуки. |
Ускорение работы программ | Благодаря сжатию данных в оперативной памяти, процессору требуется меньше времени на чтение и запись данных. Это позволяет ускорить работу программ и повысить производительность компьютера в целом. |
Более быстрый запуск приложений | Memory Compression позволяет операционной системе более быстро загружать данные из оперативной памяти, что ускоряет запуск приложений и сокращает время ожидания пользователя. |
Однако, хотя Memory Compression имеет свои преимущества, есть и несколько недостатков, которые стоит учитывать:
Недостатки | Описание |
---|---|
Потеря производительности | Сжатие данных в оперативной памяти может потребовать дополнительных вычислительных ресурсов, что может привести к снижению производительности компьютера. |
Увеличение задержек | При использовании Memory Compression возможно увеличение задержек при доступе к данным в оперативной памяти. Это может быть заметно при выполнении задач, требующих быстрого доступа к большому объему данных. |
Увеличение нагрузки на процессор | Сжатие и распаковка данных в оперативной памяти требуют дополнительных вычислительных ресурсов процессора. Если компьютер имеет слабый процессор, это может сказаться на его производительности в целом. |
Итак, Memory Compression в Windows 10 имеет свои преимущества и недостатки, поэтому включение или отключение этой функции следует рассматривать с учетом характеристик компьютера и конкретных требований пользователя.
Как отключить Memory Compression в Windows 10
Если вы хотите отключить Memory Compression в Windows 10, выполните следующие шаги:
Шаг 1: Нажмите Win + X и выберите «Windows PowerShell (администратор)» из контекстного меню.
Шаг 2: В открывшемся окне PowerShell выполните следующую команду:
Disable-MMAgent -MemoryCompression
Шаг 3: После выполнения команды, перезагрузите компьютер, чтобы изменения вступили в силу. Memory Compression будет отключено.
Обратите внимание, что отключение Memory Compression может привести к увеличению использования памяти и снижению производительности при недостатке оперативной памяти. Поэтому рекомендуется отключать эту функцию только в случае необходимости и при наличии достаточного объема оперативной памяти.
Зачем отключать Memory Compression в Windows 10
Однако есть ситуации, когда отключение Memory Compression может быть полезно:
- Перегрузка системы. Если ваш компьютер имеет недостаточное количество оперативной памяти, то Memory Compression может приводить к дополнительной нагрузке на процессор и замедлить общую производительность системы. В таком случае отключение Memory Compression может помочь улучшить производительность.
- Проблемы совместимости. Некоторые программы и игры могут быть несовместимы с Memory Compression и вызывать ошибки или сбои в работе. Отключение Memory Compression может решить данную проблему.
- Конфиденциальность данных. При использовании Memory Compression данные в оперативной памяти сжимаются и сохраняются в виде сжатого файла на жестком диске. В некоторых случаях это может представлять угрозу для конфиденциальности данных. Отключение Memory Compression поможет предотвратить возможные утечки информации.
Важно помнить, что отключение Memory Compression может иметь как положительные, так и отрицательные последствия. При принятии решения об отключении следует учитывать конкретные характеристики вашего компьютера и его использование.