Процесс VmmemWSL забирает всю оперативную память ноутбука, а файл ext4.vhdx раздулся на десятки гигабайт: настройка .wslconfig и сжатие диска
Каждый разработчик, аналитик данных, студент ИТ-факультета или системный администратор, установивший на ноутбук с Windows 11 подсистему WSL 2 (Windows Subsystem for Linux) или Docker Desktop, рано или поздно открывает Диспетчер задач из-за начавшихся тормозов браузера и видит потрясающую картину: на первой строчке сидит системный процесс VmmemWSL (или Vmmem), который в одиночку откусил 8, 12, а то и 16 гигабайт оперативной памяти, и вдобавок на системном накопителе C: куда-то бесследно пропали 40–120 гигабайт свободного места, даже после того как вы удалили все старые контейнеры и временные образы внутри Linux!
Спешим обрадовать: это НЕ утечка памяти, не вирус и не поломка ноутбука, а классическая особенность совместной жизни двух операционных систем на одной машине!
- Почему растёт память VmmemWSL: по умолчанию Microsoft разрешает виртуальной машине WSL 2 занимать до 50% всей установленной оперативной памяти вашего ноутбука (то есть до 8 ГБ из 16 ГБ или 16 ГБ из 32 ГБ!). А ядро Linux устроено по принципу «свободная память — зря простаивающая память»: когда вы собираете проект, распаковываете архив или гоняете базу данных в Docker, Linux складывает прочитанные файлы в свой внутренний дисковый Page Cache и долго не спешит возвращать эти гигабайты обратно в Windows, даже когда вы уже закончили сборку!
- Почему не уменьшается файл виртуального диска
ext4.vhdx: виртуальный диск Hyper-V расширяется динамически при записи новых образов Docker, но при обычном удалении файлов внутри Linux (rm -rf/docker system prune) блоки помечаются свободными только внутри самой ext4, а внешний файлext4.vhdxна Windows-диске остаётся огромным!
К счастью, в современных сборках WSL 2 (2025–2026) эта задача решается буквально за 3 минуты одним конфигурационным файлом .wslconfig — вы и ограничите аппетит памяти под свой точный объём ОЗУ, и включите автоматический возврат освободившейся памяти и места на SSD на лету!
Диагностическая таблица симптомов VmmemWSL и точных настроек для ноутбука
Определите объём оперативной памяти вашего ноутбука и главный симптом — таблица ниже сразу даёт оптимальную инженерную формулу:
| Что происходит на ноутбуке | Почему это случилось | Точное решение за 2 минуты |
|---|---|---|
| Процесс VmmemWSL держит 7–15 ГБ ОЗУ при открытом VS Code / браузере, Windows начинает сбрасывать вкладки в подкачку и тормозить | В домашней папке пользователя ещё не создан файл .wslconfig с разумным верхним потолком memory= и режимом постепенного возврата кэша autoMemoryReclaim=gradual |
Создать текстовый файл C:\Users\<Имя>\.wslconfig, задать комфортный потолок памяти (4–6 ГБ для ноутбука с 16 ГБ ОЗУ; 10–14 ГБ для 32 ГБ ОЗУ) и включить autoMemoryReclaim=gradual! |
| VmmemWSL грузит ядра процессора на 50–100% и завывает вентиляторами, когда в терминале Linux вообще ничего не запущено! | Завис один из фоновых контейнеров Docker, индексатор расширения VS Code Remote WSL сканирует огромную папку node_modules на диске Windows /mnt/c/... или крутится zombie-процесс внутри Ubuntu |
Ввести в терминале Linux команду htop / top или docker stats, перенести код проектов из медленного /mnt/c/ внутрь родной файловой системы Linux ~/projects/ (ускоряет сборку в 5–10 раз!) или остановить среду командой wsl --shutdown |
На системном диске C: осталось 5 ГБ свободного места, а в папке AppData\Local\Docker\wsl или Packages\CanonicalGroupLimited... лежит гигантский файл ext4.vhdx весом 60–150 ГБ! |
Виртуальный диск расширился на пике сборок и не вернул пустые блоки обратно хостовой файловой системе NTFS | Включить sparseVhd=true, выполнить wsl --shutdown и за 30 секунд сжать виртуальный диск штатной командой Optimize-VHD или diskpart → compact vdisk — мгновенно возвращаются десятки гигабайт! |
| Когда я просто учусь / пишу тексты в дороге от батареи, Docker / WSL 2 зря съедает батарею и память с самого старта ноутбука | В настройках Docker Desktop стоит галочка автозапуска вместе с Windows | В Docker Desktop → Settings → General снять галочку «Start Docker Desktop when you sign in to your computer» и запускать его только в те часы, когда реально нужны контейнеры! |
Пошаговая настройка идеального файла «.wslconfig» за 2 минуты
Шаг 1. Обновите подсистему WSL 2 до свежего выпуска ядра
Откройте Терминал Windows и убедитесь, что у вас стоит свежая магазинная версия WSL с поддержкой автоматического возврата памяти и разреженных дисков:
- введите команду wsl --update, а затем проверьте версию командой wsl --version.
Шаг 2. Создайте умный файл конфигурации .wslconfig в папке своего профиля
Нажмите Win + R, введите %UserProfile% и нажмите Enter — откроется ваша личная папка (например,
C:\Users\Ivan).Создайте в ней обычный текстовый документ и назовите его строго
.wslconfig(с точкой в начале и БЕЗ скрытого расширения.txtна конце! Проверить просто: в Проводнике включите галочку Вид → Показать → Расширения имён файлов).Откройте
.wslconfigв Блокноте и вставьте продуманный инженерный профиль (для популярного ноутбука с 16 ГБ ОЗУ — а если у вас 32 ГБ ОЗУ, смело поставьтеmemory=12GB):[wsl2] memory=6GB processors=4 swap=4GB
[experimental] autoMemoryReclaim=gradual sparseVhd=true
Сохраните файл, откройте Терминал и перезапустите виртуальную машину одной мгновенной командой: wsl --shutdown
Что вы только что сделали за одну минуту?
- Потолок memory=6GB гарантирует, что ни один взбесившийся скрипт в контейнере никогда не положит основную Windows 11, браузер и видеозвонок!
- Параметр autoMemoryReclaim=gradual заставляет ядро Linux каждые несколько минут простоя мягко возвращать неиспользуемый кэш файлов обратно в Windows — вы увидите в Диспетчере задач, как аппетит VmmemWSL сам падает с 5 ГБ до скромных 400–700 МБ!
Шаг 3: как за 60 секунд вернуть 30–80 ГБ на диске C: сжатием файла ext4.vhdx!
Если файл виртуального диска уже успел раздуться на вашем твердотельном накопителе до установки sparseVhd=true, вернём всё пустое место прямо сейчас:
- Внутри вашего терминала Ubuntu / WSL (и Docker) сначала удалите ненужный строительный мусор командами docker system prune -a (если не нужны остановленные образы) и sudo fstrim -av.
- В обычном Терминале Windows (Администратор) полностью остановите подсистему командой wsl --shutdown (проверьте командой wsl --list --verbose, что напротив всех дистрибутивов горит статус Stopped!).
- Найдите точный путь к вашему большому файлу ext4.vhdx (для Docker он обычно лежит в
%LOCALAPPDATA%\Docker\wsl\disk\docker_data.vhdx, а для Ubuntu — в%LOCALAPPDATA%\Packages\CanonicalGroupLimited...\LocalState\ext4.vhdx). - Выполните сжатие пустых блоков за полминуты через diskpart:
- diskpart
- select vdisk file="ПОЛНЫЙ_ПУТЬ_К_ФАЙЛУ\ext4.vhdx"
- attach vdisk readonly
- compact vdisk
- detach vdisk
- exit Проверьте Этот компьютер — вы только что вернули на системный диск C: десятки чистых гигабайт!
Главный секрет скорости и тишины кулеров: храните код внутри Linux (~/), а не на /mnt/c/!
Начинающие разработчики часто кладут папку с проектом (Node.js, Python, Rust, PHP Laravel) прямо на рабочий стол Windows (C:\Projects\my-app) и запускают сборку из терминала WSL по сетевому мосту /mnt/c/Projects/my-app. Через мост протокола 9P чтение ста тысяч мелких файлов в node_modules работает в 5–10 раз медленнее, раскаляет процессор процессом VmmemWSL и заставляет вентиляторы выть на всю комнату (о поддержании прохлады и тишины при нагрузках читайте в гиде обслуживание системы охлаждения ноутбука)! Перенесите папку проекта прямо в родной домашний каталог внутри Ubuntu (~/projects/my-app — из Проводника Windows он удобно доступен по адресу \\wsl.localhost\Ubuntu\home\...!) — сборка ускорится в разы, а ноутбук станет абсолютно холодным и бесшумным, значительно продлевая работу от аккумулятора в поездке (см. подборку лёгких ноутбуков для удалёнки и командировок)!
Контрольный чек-лист оптимальной настройки WSL 2 и Docker на ноутбуке
- [ ] В домашней папке
%UserProfile%\.wslconfigзаданы разумный верхний порогmemory=, автоматическое высвобождение кэшаautoMemoryReclaim=gradualи разреженный дискsparseVhd=true. - [ ] Исходный код проектов и контейнеров размещён внутри быстрой нативной файловой системы Linux (
~/), а не через медленный проброс/mnt/c/. - [ ] Автозапуск Docker Desktop вместе с Windows выключен, а для мгновенного освобождения всей памяти в любой момент используется секундная команда wsl --shutdown.
- [ ] Раздувшиеся ранее файлы
ext4.vhdxсжаты штатной командой compact vdisk, вернув свободный резерв системному SSD.
Частые вопросы
Сколько оперативной памяти и какой SSD оптимальны в 2026–2027 году для комфортной работы с Docker + IDE + браузером на ноутбуке?
Практика не обманешь: если сама Windows 11 с открытым мессенджером и 25 вкладками браузера занимает 7–9 ГБ, тяжёлая среда разработки (IntelliJ IDEA / PyCharm / Android Studio / VS Code) берёт ещё 3–5 ГБ, а микросервисный стек в WSL 2 + Docker просит 6–10 ГБ, то на ноутбуке с распаянными 8 ГБ работать откровенно тесно, 16 ГБ хватает впритык с грамотным файлом .wslconfig, а настоящим золотым стандартом спокойствия на годы вперёд являются 32 ГБ оперативной памяти и быстрый NVMe SSD на 1 ТБ! Если в вашем ноутбуке распаяны сменные слоты SO-DIMM, расширить объём до 32 или 64 ГБ проще простого по нашему руководству апгрейда оперативной памяти и SSD в ноутбуке!
Безопасна ли команда wsl --shutdown — не сломает ли она файлы внутри Ubuntu?
Команда wsl --shutdown абсолютно штатна и на 100% безопасна, если вы уже сохранили открытые файлы и остановили активную запись базы данных: она аккуратно посылает сигнал завершения ядру виртуальной машины WSL 2 и в одну секунду возвращает всю до единого мегабайта память VmmemWSL обратно вашей системе Windows! А при следующем клике на значок Ubuntu подсистема стартует с нуля за полторы секунды!
Подходят ли корпоративные ноутбуки бизнес-класса для профессиональной разработки в Linux и WSL 2?
Корпоративные серии (подробно сравнённые в нашем обзоре бизнес-ноутбуков ThinkPad и EliteBook) по праву считаются эталоном среди разработчиков мира благодаря эталонным клавиатурам, сменным слотам под 32–64 ГБ ОЗУ и 100%-й совместимости с WSL 2 и Linux — выбрать проверенный экземпляр с прозрачной диагностикой всех узлов всегда помогает наш цифровой паспорт ноутбука и официальная гарантия 12 месяцев.