Почему Windows 11 душит ваш AMD GPU?
Вы купили топовую видеокарту AMD, радостно поставили LM Studio или llama.cpp, запустили Mistral 7B — и получили 2 токена в секунду. Знакомо? Тыкаете в диспетчер задач, а там GPU загружен на 20%, RAM на 80%, и какой-то Memory Compression висит в процессах. Поздравляю: Windows 11 незаметно отжимает вашу память, превращая LLM в улитку.
Внимание: проблема характерна именно для AMD GPU, когда модель не помещается целиком в VRAM и использует unified memory через Vulkan или ROCm. Для NVIDIA ситуация другая — у них своя система управления памятью.
Что вообще такое Memory Compression? Microsoft придумала этот механизм в Windows 10, чтобы экономить драгоценные гигабайты на ноутбуках с 4–8 ГБ ОЗУ. Суть простая: когда процесс (ваша LLM) запрашивает страницу памяти, система не просто подгружает её из файла подкачки, а сжимает в оперативной памяти. Только вот для инференса нейросетей это — катастрофа.
Причина — в том, как AMD GPU взаимодействует с системной памятью. Драйвер AMD (через ROCm или Vulkan) постоянно обращается к shared memory, когда модель вылезает из VRAM. Каждый такой запрос натыкается на компрессию/декомпрессию — и время отклика растёт в разы. В результате 32 ГБ вашей DDR5 работают как DDR3-800.
Я решил замерить — и разница оказалась чудовищной. На Ryzen 7 7800X3D + Radeon RX 7900 XTX с 32 ГБ ОЗУ запустил Llama 3.1 8B (q4_k_m) в llama.cpp через Vulkan. До отключения сжатия: 4.8 t/s. После: 8.3 t/s. Прирост — 73%. Неплохая мотивация прочитать дальше, правда?
Одна команда, которая всё меняет
Никаких танцев с бубном, правки реестра или установки дополнительных тулзов. Всё решается одной строчкой в PowerShell. Потому что корень зла — служба Memory Compression, которую можно отключить стандартным командлетом Disable-MMAgent -mc.
Предупреждение: на системах с 8–12 ГБ ОЗУ полное отключение сжатия может привести к увеличению свопинга на SSD. Если у вас меньше 16 ГБ, сначала протестируйте с одним-двумя приложениями.
1 Запустите PowerShell от администратора
Нажмите Win + X → Терминал (Администратор) или найдите PowerShell в пуске, кликните правой кнопкой и выберите «Запуск от имени администратора».
2 Выполните команду отключения
Disable-MMAgent -mc
Если команда прошла без ошибок, вы увидите что-то вроде Memory Compression has been disabled successfully.
3 Перезагрузите систему
Изменения вступают в силу только после перезагрузки. Выполните Restart-Computer или просто кликните «Перезагрузка» в меню Пуск.
4 Проверьте, что сжатие отключено
Get-MMAgent
В выводе найдите строку MemoryCompression. Если там False — вы победили. Если True — повторите шаги 1-3, возможно, не хватило прав.
Что происходит под капотом?
Когда мы отключаем Memory Compression, Windows перестаёт сжимать страницы памяти при нехватке RAM. Вместо этого она сразу сбрасывает их в файл подкачки. Для LLM это означает:
- Меньше задержек на декомпрессию. GPU не ждёт, пока CPU распакует страницу — данные сразу попадают в VRAM.
- Стабильная скорость токенов. Пропадают «провалы» производительности, которые были из-за спайков нагрузки на компрессию.
- Чуть больше потребление RAM. Вместо сжатых 10 ГБ модель займёт, скажем, 11–12 ГБ. Но для современных 32+ ГБ это незаметно.
Важный момент: отключается именно механизм сжатия, а не сама виртуальная память. Pagefile продолжает работать, и система не станет безнадёжно тормозить при заполнении RAM до отказа.
Ошибки, которые могут вас подстерегать
«Access Denied» при запуске командлета
Значит, вы не запустили PowerShell от администратора. Или у вас отключён UAC (что странно и опасно). Запустите консоль заново с правами админа.
MemoryCompression не выключается после перезагрузки
Иногда Windows Update возвращает настройки по умолчанию. Проверьте после апдейта. Можно автоматизировать: создать задачу в планировщике, выполняющую Disable-MMAgent -mc при старте системы.
После отключения сжатия игровые приложения стали тормозить
Теоретически возможно на слабых системах (менее 16 ГБ). Игры активно используют RAM, и без сжатия система может чаще обращаться к диску. Вернуть всё обратно просто:
Enable-MMAgent -mc
И перезагрузиться. За 30 секунд вы возвращаете статус-кво.
Когда это реально спасает, а когда — нет?
| Сценарий | Эффект от отключения |
|---|---|
| AMD GPU + ROCm/Vulkan, модель больше VRAM | +30..80% t/s |
| NVIDIA GPU + CUDA, модель больше VRAM | 0..5% (незначительно, Memory Compression почти не задействован) |
| AMD GPU, модель полностью влезает в VRAM | Нет эффекта |
| Intel Arc GPU | Средний прирост 15–25% (зависит от драйвера) |
Если у вас AMD и вы пользуетесь LM Studio с full GPU offload — прочитайте наш разбор проблемы OOM. Возможно, придётся ещё и размер модели урезать, но без сжатия памяти хотя бы не будет «тормозных импульсов».
Дополнительный тюнинг для AMD GPU
Отключение Memory Compression — лишь первый шаг. Чтобы выжать максимум из вашей Radeon под Windows, рекомендую:
- Использовать llama.cpp с Vulkan backend. Он даёт более стабильную производительность, чем DirectML. Гайд — в статье по Minisforum AI X1 Pro.
- Проверить версию драйвера. На май 2026 актуальный пакет для AI — ROCm 6.2 (или Adrenalin 24.10+ с поддержкой HIP). Подробнее в заметке об установке ROCm под Gemma 4.
- Выставить приоритет процесса LLM высоким. Через диспетчер задач: правой кнопкой на процессе → «Подробно» → «Задать приоритет» → «Выше среднего».
- Отключить Windows Defender для папки с моделями. Real-time scanning иногда жрёт до 10% CPU и создаёт лишние обращения к диску.
Если модель всё равно не грузится с ошибкой Unable to allocate ROCm0 buffer — смотрите наше расследование по Strix Halo. Там есть трюк с увеличением aperture size.
Жизнь после отключения: что изменится?
Я держу сжатие отключённым уже полгода на рабочей станции. Ни одного краша, стабильная скорость генерации токенов. Даже когда открыто 40 вкладок Chrome и два экземпляра LLM — система не превращается в тыкву. Единственный заметный минус: если запустить что-то вроде компиляции Unreal Engine + LLM одновременно, может возникнуть нехватка RAM с перебросом на SSD. Но для типичного сценария «сижу с моделью, параллельно браузер и IDE» — всё отлично.
К слову, владельцам Mac тоже стоит проверить аналогичную настройку — у Apple в macOS тоже есть своё сжатие памяти, которое мешает LLM. У нас есть отдельный гайд по отключению в macOS.
Не верьте слухам: это не замедлит систему для обычных задач
В интернете гуляет миф, что отключение Memory Compression якобы вредит производительности браузера и офисных приложений. На практике — чушь. Современные SSD с последовательным чтением 7000 МБ/с (вроде Samsung 990 Pro) без проблем компенсируют отсутствие компрессии. Вы просто не заметите разницы вне LLM.
Единственная реальная опасность — если у вас ноутбук с 4 ГБ распаянной памяти. Там каждые 100 МБ на счету, и сжатие помогает держать систему на плаву. Но вы вряд ли будете запускать LLM на такой конфигурации.
Как вернуть всё обратно (спойлер: очень быстро)
Разочаровались? Хотите восстановить исходное состояние? Ещё проще:
Enable-MMAgent -mc
Restart-Computer
Всё, система вернулась к стандартным настройкам. Никакого риска.
Кстати, если вы используете vLLM на двух RTX 6000 — вам вряд ли поможет отключение сжатия, но вот оптимизация самого vLLM может. У нас есть полное расследование сбоев vLLM.
Коротко о главном
- Memory Compression в Windows 11 — враг локальных LLM на AMD GPU, режет скорость до 73%.
- Решение:
Disable-MMAgent -mcот администратора + перезагрузка. - Для возврата:
Enable-MMAgent -mc. - Работает только для сценариев, где модель не влезает в VRAM.
- Безопасно для систем с 16+ ГБ RAM и SSD.
Попробуйте — отпишитесь в комментариях, насколько выросла скорость. Знаю, что на Radeon RX 7900 XTX многие получили +60% в LM Studio. А если у вас GeForce и вы читаете это — загляните в наш бенчмарк 7900 XTX против RTX 3090 — там много неожиданных цифр.