Русский
Appearance
Русский
Appearance
Многие пользователи, только начавшие знакомство с WSL2, сталкиваются с «недоумением»: Linux установлен, но почему после закрытия терминала он через некоторое время «автоматически выключается»? Почему он не может работать постоянно?
В этой статье сначала описывается это явление, затем объясняется, почему Microsoft так спроектировала WSL, и, наконец, рассказывается, как с помощью WSL Dashboard запустить дистрибутив Linux в режиме keep-alive (поддержания работы).
Вы когда-нибудь сталкивались с такой ситуацией?
NOTE
«Тайм-аут простоя» (idle timeout) WSL2 по умолчанию составляет около 60 секунд: когда в дистрибутиве нет запущенных процессов (например, вы закрыли все терминалы), виртуальная машина WSL автоматически завершает работу, освобождая системные ресурсы, такие как память.
Такое поведение — это стандартная конструкция WSL2: это не сбой и не ошибка.
WSL2 запускает полноценное ядро Linux через облегчённую виртуальную машину Hyper-V (utility VM). Каждый работающий дистрибутив реально занимает ресурсы памяти. Если бы все дистрибутивы постоянно оставались в фоне, машина, одновременно запускающая несколько дистрибутивов, впустую тратила бы сотни МБ и даже несколько ГБ памяти, замедляя производительность всей системы.
Философия дизайна Windows — «выделять ресурсы по требованию, освобождать, когда не используются»:
Поэтому WSL придерживается стратегии «запуск по требованию, остановка при простое», автоматически возвращая системе такие ресурсы, как память, когда они не нужны.
«Автоматическое выключение при простое» WSL похоже на выключение света при выходе из комнаты: экономно и эффективно. Но для тех, кому «нужно, чтобы свет горел постоянно», это доставляет неудобства — именно отсюда и возникает потребность в keep-alive.
TIP
Если вам нужно, чтобы Linux работал постоянно (например, для развёртывания сервисов, запуска запланированных задач, настройки сервера разработки и т. д.), прочитайте следующую главу и используйте WSL Dashboard, чтобы поддерживать работу дистрибутива.
WSL Dashboard предлагает два простых способа поддерживать работу вашего дистрибутива Linux.
В списке «Установленные дистрибутивы Linux» WSL Dashboard:
После нажатия дистрибутив немедленно активируется и продолжает работать; пока вы не остановите его вручную, он не будет автоматически выключен из-за простоя. Этот способ подходит для временного режима keep-alive, когда вам нужно, чтобы Linux работал непрерывно прямо сейчас.
В списке «Установленные дистрибутивы Linux» WSL Dashboard:
После установки флажка дистрибутив будет автоматически запускаться при каждом запуске/входе в Windows, без каких-либо ручных действий — «keep-alive с момента загрузки». Этот способ подходит для сценариев, где Linux должен оставаться в сети в течение длительного времени (например, серверы разработки, постоянно работающие службы).
TIP