Pliki konfiguracyjne WSL (Windows Subsystem for Linux): Jak zarządzać ustawieniami globalnymi, np. pamięcią RAM, procesorami i siecią, za pomocą pliku .wslconfig?

2026-07-25 0 przez Redakcja plików

Plik .wslconfig to globalny plik konfiguracyjny dla Windows Subsystem for Linux (WSL) w wersji 2, który pozwala precyzyjnie zarządzać zasobami systemowymi, takimi jak pamięć RAM, liczba procesorów, czy ustawienia sieciowe, przypisywanymi do maszyn wirtualnych WSL. Daje Ci kontrolę nad tym, ile Twoje dystrybucje Linuksa mogą „zabierać” z zasobów Windowsa, co jest kluczowe dla optymalnej wydajności obu systemów.

Czym jest plik .wslconfig i gdzie go znajdziesz?

Plik .wslconfig to zwykły plik tekstowy, który nie posiada rozszerzenia `.txt` czy innego typowego. Jego pełna nazwa to po prostu `.wslconfig`. Znajdziesz go w katalogu Twojego profilu użytkownika Windows. Aby to zrobić, otwórz Eksplorator plików i w pasku adresu wpisz `%USERPROFILE%`, a następnie naciśnij Enter. Powinieneś zobaczyć plik `.wslconfig` bezpośrednio w tym folderze, na przykład `C:\Users\TwojaNazwaUżytkownika\.wslconfig`. Jeśli go nie widzisz, upewnij się, że masz włączoną opcję pokazywania ukrytych elementów w Eksploratorze plików, ponieważ pliki zaczynające się od kropki są często domyślnie ukryte w systemach uniksowych i WSL respektuje tę konwencję.

Do czego służy .wslconfig? Zarządzanie zasobami WSL 2

Głównym zadaniem pliku `.wslconfig` jest globalna konfiguracja parametrów uruchomieniowych dla wszystkich dystrybucji WSL 2. Pamiętaj, że dotyczy to tylko WSL 2, który działa na maszynie wirtualnej Hyper-V, a nie WSL 1. Dzięki niemu możesz między innymi:

  • Ograniczyć pamięć RAM: Domyślnie WSL 2 potrafi zaabsorbować znaczną część dostępnej pamięci RAM Twojego komputera, co potrafi spowolnić system Windows. Używając `memory=4GB` (dla 4 GB RAM), możesz ograniczyć ten apetyt. Kiedyś pozwoliłem WSL działać bez ograniczeń i ku mojemu zaskoczeniu zjadł prawie 80% z 16 GB RAM, kompletnie zamulając Windowsa. To była cenna lekcja!
  • Ustawić liczbę procesorów: Jeśli masz wiele rdzeni CPU, możesz zdecydować, ile z nich ma być dostępnych dla WSL, np. `processors=4`. To przydatne, gdy Twoje aplikacje w Linuksie są bardzo wymagające obliczeniowo.
  • Konfigurować sieć: Możesz określić, czy WSL ma używać wirtualnego przełącznika sieciowego (domyślne), czy też, w bardziej zaawansowanych scenariuszach, bardziej bezpośredniego dostępu do sieci.
  • Zarządzać partycją SWAP: Ustawienie `swap=2GB` pozwoli na stworzenie pliku wymiany o rozmiarze 2GB, co bywa przydatne przy braku pamięci fizycznej w WSL.

Plik `.wslconfig` jest czytany i interpretowany przez Windows Subsystem for Linux (WSL) za każdym razem, gdy uruchamiana jest maszyna wirtualna WSL 2. Nie jest to program, który go „tworzy”, ale raczej komponent systemu Windows, który na jego podstawie konfiguruje środowisko Linuksa. Ty tworzysz i edytujesz ten plik samodzielnie, używając dowolnego edytora tekstu, np. Notatnika, Visual Studio Code czy Notepad++.

Czy .wslconfig to wirus? Czy można go usunąć?

Absolutnie nie, plik `.wslconfig` nie jest wirusem. To legalny, tekstowy plik konfiguracyjny, który służy do dostosowania Twojego środowiska WSL. Jest bezpieczny.

Czy można go usunąć? Tak, możesz go usunąć. Co się wtedy stanie? Jeśli usuniesz plik `.wslconfig`, WSL 2 po prostu wróci do swoich domyślnych ustawień zasobów systemowych. Zazwyczaj oznacza to, że WSL będzie mógł wykorzystać do 50% pamięci RAM Twojego komputera i wszystkie dostępne rdzenie procesora. Dla większości użytkowników oznacza to powrót do stanu, w którym WSL jest dość „zachłanny” na zasoby. Usunięcie go nie zepsuje WSL, ale stracisz swoje niestandardowe konfiguracje.

Typowe problemy i błędy z .wslconfig

Pomimo swojej prostoty, plik `.wslconfig` potrafi sprawić trochę kłopotów, głównie przez małe literówki lub niewiedzę o tym, jak działa.

  • Błędy składniowe: To najczęstszy problem. Musisz upewnić się, że nazwy kluczy (np. `memory`, `processors`) są poprawne, a wartości są odpowiedniego typu. Na przykład, `memory=8giga` zamiast `memory=8GB` spowoduje, że ustawienie zostanie zignorowane. Pamiętam, jak przez pół godziny szukałem błędu, bo wpisałem `proccesors` zamiast `processors`. WSL często nie zgłasza jawnych błędów dla nieprawidłowych wpisów, po prostu je ignoruje.
  • Niewłaściwa lokalizacja: Plik *musi* znajdować się w katalogu `%USERPROFILE%`. Umieszczenie go w innym miejscu, np. w katalogu dystrybucji Linuksa, sprawi, że WSL go nie odczyta.
  • Brak restartu WSL: Zmiany wprowadzone w `.wslconfig` nie są stosowane natychmiast. Musisz całkowicie wyłączyć maszynę wirtualną WSL, a następnie uruchomić ją ponownie. Zrobisz to, otwierając PowerShell lub Wiersz polecenia jako administrator i wpisując `wsl –shutdown`. To jest chyba najczęstsza pułapka! U mnie pierwszy raz wyszło dopiero za trzecim razem, zanim zrozumiałem, że to jest kluczowy krok.
  • Nadmierna alokacja zasobów: Ustawienie zbyt niskich limitów (np. `memory=512MB` na maszynie z 16GB RAM) dla WSL może spowolnić Twoje aplikacje Linuksowe. Z kolei ustawienie zbyt wysokich limitów (`memory=14GB` na maszynie z 16GB RAM) spowoduje, że system Windows będzie dławił się brakiem pamięci. Znajdź złoty środek, testując różne wartości.

Dlaczego plik .wslconfig nie jest „systemowy”?

Plik `.wslconfig` nie jest plikiem systemowym w tradycyjnym sensie Windowsa. To oznacza, że nie jest on domyślnie chroniony przed edycją lub usunięciem przez system operacyjny, ani nie ma ustawionego atrybutu „tylko do odczytu” (read-only). Jest to plik konfiguracyjny tworzony i zarządzany przez użytkownika, a jego modyfikacja jest wręcz pożądana. Oczywiście, możesz samodzielnie ustawić mu atrybut „tylko do odczytu”, jeśli obawiasz się przypadkowych zmian, ale nie jest to wymagane do jego prawidłowego działania. WSL zakłada, że użytkownik, który go tworzy, wie, co robi.

Najczęstsze pytania

Czy .wslconfig wpływa na WSL 1?

Nie, plik .wslconfig konfiguruje wyłącznie środowisko WSL 2, ponieważ tylko ono działa na maszynie wirtualnej Hyper-V, której zasoby można w ten sposób kontrolować.

Jakie są domyślne ustawienia WSL, jeśli nie mam pliku .wslconfig?

Bez pliku .wslconfig, WSL 2 domyślnie może użyć do 50% dostępnej pamięci RAM i wszystkich dostępnych rdzeni procesora Twojego komputera.

Jak sprawdzić, czy moje zmiany w .wslconfig zostały zastosowane?

Po edycji pliku i uruchomieniu `wsl –shutdown`, uruchom ponownie swoją dystrybucję Linuksa. Następnie w Linuksie możesz użyć poleceń takich jak `free -h` (dla pamięci) czy `lscpu` (dla procesorów), aby sprawdzić, czy zasoby zgadzają się z Twoimi ustawieniami.