Polski
Appearance
Polski
Appearance
Wielu użytkowników dopiero zaczynających przygodę z WSL2 spotyka "zagadkę": Linux jest zainstalowany, ale dlaczego po zamknięciu terminala po chwili "automatycznie się wyłącza"? Dlaczego nie może działać bez przerwy?
Ten artykuł najpierw opisze to zjawisko, następnie wyjaśni, dlaczego Microsoft zaprojektował WSL w ten sposób, a na końcu pokaże, jak uruchomić dystrybucję Linuksa w trybie keep-alive (utrzymywania w działaniu) za pomocą WSL Dashboard.
Czy doświadczyłeś poniższej sytuacji?
NOTE
Domyślny "limit czasu bezczynności" (idle timeout) w WSL2 wynosi około 60 sekund: gdy w dystrybucji nie działa żaden proces (np. po zamknięciu wszystkich terminali), maszyna wirtualna WSL wyłącza się automatycznie, aby zwolnić zasoby systemowe, takie jak pamięć.
Takie zachowanie jest domyślnym projektem WSL2 — to ani usterka, ani błąd.
WSL2 uruchamia pełne jądro Linuksa w lekkiej maszynie wirtualnej Hyper-V (utility VM). Każda działająca dystrybucja realnie zajmuje zasoby pamięci. Gdyby wszystkie dystrybucje stale pracowały w tle, a jedna maszyna uruchamiała jednocześnie kilka dystrybucji, na próżno marnowałoby się kilkaset MB, a nawet kilka GB pamięci, spowalniając cały system.
Filozofia projektowa systemu Windows to "przydzielaj zasoby na żądanie, niewykorzystane — zwalniaj":
Dlatego WSL stosuje strategię "uruchom na żądanie, zatrzymaj przy bezczynności", dzięki której pamięć i inne zasoby automatycznie wracają do systemu, gdy nie są potrzebne.
Automatyczne wyłączanie WSL przy bezczynności jest jak gaszenie światła przy wyjściu z pokoju: oszczędza energię i jest bardziej efektywne. Jednak dla osób, które "potrzebują, aby światło paliło się cały czas", to uciążliwość — i właśnie stąd bierze się potrzeba keep-alive.
TIP
Jeśli potrzebujesz, aby Linux działał stale (np. do wdrażania usług, uruchamiania zaplanowanych zadań, stawiania serwera deweloperskiego itp.), przeczytaj następny rozdział i użyj WSL Dashboard, aby utrzymać dystrybucję w działaniu.
WSL Dashboard oferuje dwa proste sposoby, aby Twoja dystrybucja Linuksa działała bez przerwy.
Na liście "Zainstalowane dystrybucje Linuksa" w WSL Dashboard:
Po kliknięciu dystrybucja natychmiast się budzi i działa bez przerwy; dopóki sam jej nie zatrzymasz, nie zostanie automatycznie wyłączona z powodu bezczynności. Ten sposób sprawdza się w scenariuszach tymczasowego keep-alive, gdy potrzebujesz, aby Linux działał "teraz".
Na liście "Zainstalowane dystrybucje Linuksa" w WSL Dashboard:
Po zaznaczeniu dystrybucja będzie automatycznie uruchamiana przy każdym starcie/logowaniu do systemu Windows, bez żadnych ręcznych czynności — "działa od razu po starcie". Ten sposób sprawdza się w scenariuszach, w których Linux musi być online przez długi czas (np. serwer deweloperski, usługi działające stale).
TIP