Подсистема Windows для Linux станет стабильнее за счет изменения архитектуры

2026-07-14 146 комментарии
Microsoft изменила архитектуру подсистемы Windows для Linux (WSL), чтобы повысить ее стабильность. Теперь Linux-среда работает с ограничением ресурсов, что предотвращает зависание всей подсистемы при нехватке памяти, а также обеспечивает независимый запуск нескольких дистрибутивов

Подсистема Windows для Linux (Windows Subsystem for Linux, WSL) вскоре должна стать заметно стабильнее и реже приводить к сбоям основной Windows.

Windows Subsystem for Linux получила архитектурное обновление, которое должно повысить стабильность подсистемы при высокой нагрузке. Microsoft ограничила объем оперативной памяти и процессорных ресурсов, доступных среде Linux. Благодаря этому пользовательские процессы больше не смогут забрать все ресурсы, необходимые для работы служебных компонентов WSL в Windows.

До внедрения этого исправления пользователи могли запускать ресурсоемкие процессы, например компиляцию ПО, которые регулярно вызывали в виртуальной Linux-среде события Out-of-Memory – нехватку оперативной памяти. В результате завершались не только активные приложения: процесс мог потребить все ресурсы, необходимые для работы ядра WSL. Из-за этого подсистема зависала, причем ее работа не восстанавливалась даже после того, как нагрузка на память снижалась.

Исправление Microsoft вводит жесткое ограничение ресурсов для виртуальной Linux-среды с помощью механизма изоляции. Благодаря этому у служебных процессов WSL всегда должен оставаться минимальный объем ОЗУ и вычислительной мощности процессора. Теперь, если пользователь начнет компилировать программу в Linux-среде и процесс исчерпает доступные ресурсы, завершится только этот процесс, а не вся подсистема WSL.

Для реализации нового механизма система помещает все запущенные пользователем Linux-среды в отдельную ограниченную контрольную группу под названием wsl-user. Для этой группы устанавливается лимит оперативной памяти, который на 32 МиБ (мебибайт, около 33,6 МБ) меньше общего объема памяти хост-системы. Доступная процессорная мощность, в свою очередь, ограничивается значением на 0,01 ядра ниже общей производительности процессора. Такого небольшого резерва должно быть достаточно, чтобы WSL могла поддерживать работу критически важных фоновых процессов, обмен данными с Windows и управление Linux-средами.

Еще одна важная деталь заключается в том, что WSL пришлось полностью перейти на Linux cgroup v2 – вторую версию механизма контрольных групп. К сожалению, это может нарушить совместимость со старыми рабочими нагрузками, которые зависят от предыдущей версии системы. Пользователям, которым по-прежнему необходима cgroup v1, следует добавить параметр IsolateDistroCgroup = false в файл .wslconfig. В этом случае новые механизмы изоляции применяться не будут.

Изменение также дает еще одно преимущество. При одновременном запуске нескольких Linux-дистрибутивов пользователи больше не должны сталкиваться с блокировкой их инициализации.

Новая архитектура размещает экземпляры systemd каждого дистрибутива в отдельных контрольных группах. Благодаря этому разные Linux-среды смогут загружаться независимо друг от друга.

© .
Комментарии и отзывы

Нашли ошибку?

Новое на сайте