Українська
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, без жодних ручних дій — "працює одразу після старту". Цей спосіб підходить для сценаріїв, де Linux має бути довгостроково онлайн (наприклад, сервер розробки, постійні сервіси).
TIP