| Termin | Definicja |
|---|---|
| WSL 2 działa wolniej niż WSL 1 | WSL 2 działający wolniej niż WSL 1 wskazuje na dostęp do plików przez system Windows (/mnt/c) — WSL2 ma wolniejszy dostęp do plików hosta przez warstwę wirtualizacji. Komunikat „WSL 2 działa wolniej niż WSL 1” oznacza, że środowisko Linux uruchamiane w systemie Windows wykonuje wybrane operacje z mniejszą wydajnością niż wcześniejsza wersja WSL. Nie musi to oznaczać uszkodzenia systemu ani nieprawidłowej instalacji. Najczęściej problem ujawnia się podczas pracy z dużą liczbą małych plików, uruchamiania narzędzi deweloperskich albo wykonywania poleceń w katalogach znajdujących się po stronie systemu Windows. Na czym polega spadek wydajności WSL 2 względem WSL 1WSL 1 korzystał z mechanizmu tłumaczenia wywołań systemowych Linuksa na operacje rozumiane przez Windows. Dzięki temu dostęp do plików przechowywanych na partycjach Windows, takich jak katalog użytkownika na dysku systemowym, mógł być stosunkowo szybki. WSL 2 działa w oparciu o rzeczywiste jądro Linuksa uruchamiane w lekkim środowisku maszyny wirtualnej. Zapewnia to lepszą zgodność z aplikacjami linuksowymi, ale wprowadza dodatkową granicę pomiędzy systemem plików Linuksa a systemem plików Windows. Największa różnica jest widoczna wtedy, gdy projekt linuksowy zostaje zapisany w katalogu dostępnym przez ścieżkę W praktyce nie porównuje się wyłącznie szybkości procesora lub przepustowości dysku. Znaczenie ma także rodzaj operacji. Kopiowanie jednego dużego pliku może przebiegać sprawnie, podczas gdy instalowanie zależności, skanowanie katalogu Różnice techniczne i właściwe miejsce dla plikówW WSL 2 podstawowym miejscem dla projektów linuksowych jest katalog znajdujący się w systemie plików dystrybucji, na przykład w obrębie katalogu domowego użytkownika. Taki układ ogranicza liczbę operacji przechodzących pomiędzy Linuksem a Windowsem. Pliki mogą być nadal otwierane z poziomu Windows, lecz codzienna praca narzędzi uruchamianych w WSL 2 zwykle przebiega sprawniej, gdy kod, katalogi zależności, cache oraz pliki tymczasowe pozostają po stronie Linuksa. Przeniesienie projektu do właściwego systemu plików nie zawsze rozwiązuje każdy problem. Jeżeli edytor kodu, serwer deweloperski, menedżer pakietów i narzędzia pomocnicze działają w różnych środowiskach, mogą wystąpić dodatkowe opóźnienia. Przykładem jest sytuacja, w której aplikacja działa w WSL 2, ale obserwowanie zmian plików odbywa się przez komponent Windows. Innym przypadkiem jest korzystanie z katalogu współdzielonego przez kilka narzędzi, które stale odczytują metadane i sprawdzają, czy pliki zostały zmodyfikowane. Warto również rozróżnić wydajność operacji dyskowych od wydajności samego środowiska. Na odczuwalne spowolnienie wpływają między innymi typ dysku, ilość wolnego miejsca, obciążenie pamięci operacyjnej, indeksowanie, skanowanie antywirusowe, liczba uruchomionych procesów oraz konfiguracja zasobów przydzielonych WSL 2. Gdy opóźnienia pojawiają się także przy pracy w katalogu domowym Linuksa, przyczyną może być nie tylko lokalizacja plików, lecz również konfiguracja Windows, stan dysku albo konflikt z oprogramowaniem działającym w tle. WSL 1 i WSL 2 mają odmienne mocne strony. WSL 1 bywa korzystniejszy przy prostych zadaniach silnie zależnych od plików przechowywanych po stronie Windows. WSL 2 zapewnia natomiast szerszą zgodność z programami oczekującymi typowego jądra Linuksa, a także lepsze warunki dla części narzędzi systemowych i kontenerowych. Wybór wersji powinien wynikać z charakteru pracy, miejsca przechowywania projektu i sposobu komunikacji pomiędzy aplikacjami, a nie tylko z samego numeru wersji. Typowe objawy, błędy i przyczyny - WSL 2 działa wolniej niż WSL 1Najczęstszym objawem jest długi czas wykonywania poleceń, które wcześniej kończyły się niemal natychmiast. Dotyczy to zwłaszcza Do podobnego wrażenia może prowadzić powolne uruchamianie dystrybucji, opóźnione otwieranie terminala albo zawieszanie poleceń podczas zamykania procesu. W logach mogą pojawiać się błędy dostępu do plików, problemy z blokadą pliku, niezgodność końców linii, kłopoty z uprawnieniami lub komunikaty sugerujące brak danego polecenia. Nie każdy taki komunikat wynika jednak z WSL 2. Część problemów powoduje nieprawidłowa ścieżka, brak wymaganej zmiennej środowiskowej, uszkodzona dystrybucja albo jednoczesne używanie narzędzi Windows i Linuksa do zarządzania tym samym katalogiem. Spowolnienie może zostać nasilone przez program antywirusowy kontrolujący każdy tworzony plik, mechanizm indeksowania zawartości, niemal pełny dysk lub dużą liczbę procesów działających w tle. Znaczenie ma także sposób montowania dysków oraz ustawienia dotyczące pamięci i procesora. Zbyt mała ilość dostępnej pamięci może powodować częste zwalnianie i ponowne przydzielanie zasobów, a przeciążenie dysku może wydłużać zarówno pracę WSL 2, jak i zwykłych programów Windows. Przy diagnozowaniu nie powinno się zaczynać od przypadkowego usuwania dystrybucji lub ponownej instalacji całego środowiska. Najpierw warto porównać ten sam test w katalogu po stronie Windows i w katalogu należącym do systemu plików WSL 2. Następnie należy sprawdzić użycie procesora, pamięci i dysku, czas dostępu do plików, stan aktualizacji Windows oraz zachowanie narzędzi uruchamianych bezpośrednio w terminalu. Taki test pozwala rozdzielić problem lokalizacji danych od problemu z zasobami komputera lub konfiguracją oprogramowania. Kiedy trzeba umówić wizytę serwisową - WSL 2 działa wolniej niż WSL 1Pomoc serwisowa jest uzasadniona, gdy WSL 2 pozostaje wolny także po przeniesieniu projektu do linuksowego systemu plików, gdy terminal zawiesza się przy prostych poleceniach, gdy występują błędy dostępu do dystrybucji albo gdy podobne opóźnienia dotyczą całego komputera. Warto zgłosić problem również wtedy, gdy konieczne jest zachowanie istniejących projektów, środowisk programistycznych i ustawień, a samodzielne zmiany mogłyby doprowadzić do utraty danych lub trudnej do odtworzenia konfiguracji. W Warszawskim Pogotowiu Komputerowym 24/7 można zlecić uporządkowanie takiej diagnozy: sprawdzenie lokalizacji plików, działania WSL, obciążenia systemu Windows, dostępu do dysku oraz współpracy narzędzi używanych przy projekcie. Analiza powinna obejmować nie tylko sam terminal, lecz także ustawienia systemowe, programy ochronne, wolne miejsce na dysku i sposób uruchamiania aplikacji. Dzięki temu można ustalić, czy przyczyną jest naturalna charakterystyka dostępu do plików w WSL 2, błędna organizacja projektu, przeciążenie komputera czy usterka wymagająca szerszej naprawy. Przed przekazaniem sprzętu przydatne jest przygotowanie informacji o wersji Windows, używanej dystrybucji, miejscu zapisania projektu, poleceniach powodujących opóźnienia oraz chwili, od której problem stał się zauważalny. Pomocne pozostają również przykładowe czasy wykonania tego samego zadania w dwóch różnych katalogach. Takie dane ułatwiają odtworzenie objawu i ograniczają ryzyko wprowadzenia zmian, które poprawią jeden element, lecz pogorszą działanie pozostałych narzędzi. |