Москва: проверенные б/у ноутбуки с гарантией и проверкой перед оплатой
+7 906 722-94-45

Главная → Статьи → Процесс VmmemWSL забирает всю оперативную память ноутбука, а файл ext4.vhdx раздулся на десятки гигабайт: настройка .wslconfig и сжатие диска

Процесс VmmemWSL забирает всю оперативную память ноутбука, а файл ext4.vhdx раздулся на десятки гигабайт: настройка .wslconfig и сжатие диска

Процесс VmmemWSL забирает всю оперативную память ноутбука, а файл ext4.vhdx раздулся на десятки гигабайт: настройка .wslconfig и сжатие диска

Процесс VmmemWSL забирает всю оперативную память ноутбука, а файл ext4.vhdx раздулся на десятки гигабайт: настройка .wslconfig и сжатие диска

Каждый разработчик, аналитик данных, студент ИТ-факультета или системный администратор, установивший на ноутбук с Windows 11 подсистему WSL 2 (Windows Subsystem for Linux) или Docker Desktop, рано или поздно открывает Диспетчер задач из-за начавшихся тормозов браузера и видит потрясающую картину: на первой строчке сидит системный процесс VmmemWSL (или Vmmem), который в одиночку откусил 8, 12, а то и 16 гигабайт оперативной памяти, и вдобавок на системном накопителе C: куда-то бесследно пропали 40–120 гигабайт свободного места, даже после того как вы удалили все старые контейнеры и временные образы внутри Linux!

Спешим обрадовать: это НЕ утечка памяти, не вирус и не поломка ноутбука, а классическая особенность совместной жизни двух операционных систем на одной машине!

  1. Почему растёт память VmmemWSL: по умолчанию Microsoft разрешает виртуальной машине WSL 2 занимать до 50% всей установленной оперативной памяти вашего ноутбука (то есть до 8 ГБ из 16 ГБ или 16 ГБ из 32 ГБ!). А ядро Linux устроено по принципу «свободная память — зря простаивающая память»: когда вы собираете проект, распаковываете архив или гоняете базу данных в Docker, Linux складывает прочитанные файлы в свой внутренний дисковый Page Cache и долго не спешит возвращать эти гигабайты обратно в Windows, даже когда вы уже закончили сборку!
  2. Почему не уменьшается файл виртуального диска 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 в папке своего профиля

  1. Нажмите Win + R, введите %UserProfile% и нажмите Enter — откроется ваша личная папка (например, C:\Users\Ivan).

  2. Создайте в ней обычный текстовый документ и назовите его строго .wslconfig (с точкой в начале и БЕЗ скрытого расширения .txt на конце! Проверить просто: в Проводнике включите галочку Вид → Показать → Расширения имён файлов).

  3. Откройте .wslconfig в Блокноте и вставьте продуманный инженерный профиль (для популярного ноутбука с 16 ГБ ОЗУ — а если у вас 32 ГБ ОЗУ, смело поставьте memory=12GB):

    [wsl2] memory=6GB processors=4 swap=4GB

    [experimental] autoMemoryReclaim=gradual sparseVhd=true

  4. Сохраните файл, откройте Терминал и перезапустите виртуальную машину одной мгновенной командой: wsl --shutdown

Что вы только что сделали за одну минуту?

  • Потолок memory=6GB гарантирует, что ни один взбесившийся скрипт в контейнере никогда не положит основную Windows 11, браузер и видеозвонок!
  • Параметр autoMemoryReclaim=gradual заставляет ядро Linux каждые несколько минут простоя мягко возвращать неиспользуемый кэш файлов обратно в Windows — вы увидите в Диспетчере задач, как аппетит VmmemWSL сам падает с 5 ГБ до скромных 400–700 МБ!

Шаг 3: как за 60 секунд вернуть 30–80 ГБ на диске C: сжатием файла ext4.vhdx!

Если файл виртуального диска уже успел раздуться на вашем твердотельном накопителе до установки sparseVhd=true, вернём всё пустое место прямо сейчас:

  1. Внутри вашего терминала Ubuntu / WSL (и Docker) сначала удалите ненужный строительный мусор командами docker system prune -a (если не нужны остановленные образы) и sudo fstrim -av.
  2. В обычном Терминале Windows (Администратор) полностью остановите подсистему командой wsl --shutdown (проверьте командой wsl --list --verbose, что напротив всех дистрибутивов горит статус Stopped!).
  3. Найдите точный путь к вашему большому файлу ext4.vhdx (для Docker он обычно лежит в %LOCALAPPDATA%\Docker\wsl\disk\docker_data.vhdx, а для Ubuntu — в %LOCALAPPDATA%\Packages\CanonicalGroupLimited...\LocalState\ext4.vhdx).
  4. Выполните сжатие пустых блоков за полминуты через 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 месяцев.