Wie kann ich Speicher- und CPU-Ressourcen für WSL begrenzen?
- Einleitung
- Was ist wslconfig und wsl.conf?
- Die .wslconfig-Datei anlegen und konfigurieren
- Beispiel einer kompletten .wslconfig
- Änderungen übernehmen
- Überprüfen der Ressourcenkonfiguration
- Zusammenfassung
Einleitung
Windows Subsystem for Linux (WSL) ermöglicht es, Linux-Distributionen nativ unter Windows auszuführen. Standardmäßig
nutzt WSL die verfügbaren Systemressourcen wie Speicher und CPU recht großzügig, was auf manchen Systemen zu Leistungseinbußen
führen kann. Um eine bessere Kontrolle über Ressourcen zu haben, ist es möglich, die maximale Speicher- und CPU-Auslastung
Was ist wslconfig und wsl.conf?
Um die Ressourcenkontrolle einzustellen, benutzt man hauptsächlich eine Konfigurationsdatei namens
.wslconfig im Benutzerverzeichnis von Windows, also in C:\Users\IhrBenutzername\.wslconfig.
Diese Datei wirkt sich auf alle WSL-Distributionen aus und ermöglicht es, Limits für Speicher, CPU und andere Parameter
Die Datei wsl.conf ist dagegen eine Konfigurationsdatei innerhalb der Linux-Distribution und wird
Die .wslconfig-Datei anlegen und konfigurieren
Öffnen Sie Ihren bevorzugten Windows-Editor (z. B. Notepad) und erstellen Sie im Verzeichnis C:\Users\IhrBenutzername\
eine Datei mit dem Namen .wslconfig. Falls diese Datei bereits existiert, können Sie sie ergänzen.
In der Datei können Sie einen Abschnitt anlegen, in dem Sie folgende Parameter definieren können:
memory=4GBprocessors=2Mit memory legen Sie den maximalen Arbeitsspeicher fest, den WSL verwenden darf. Dabei können Sie Werte wie
512MB, 2GB oder auch 4GB setzen. Ohne Angabe gibt es keine Beschränkung.
Der Parameter processors bestimmt, wie viele CPU-Kerne maximal genutzt werden dürfen. Wenn Ihr System
beispielsweise 8 Kerne hat, können Sie diesen Wert auf 2 oder 4 setzen, um die maximale CPU-Auslastung durch WSL zu limitieren.
Beispiel einer kompletten .wslconfig
memory=3GBprocessors=3swap=1GBlocalhostForwarding=true
Neben Speicher und Prozessoren können Sie z.B. auch die Auslagerungsdatei-Größe mit swap begrenzen oder
Änderungen übernehmen
Nachdem Sie die .wslconfig Datei gespeichert haben, müssen Sie die WSL-Instanzen neu starten, damit die Änderungen wirken.
Führen Sie dazu in der Windows-Eingabeaufforderung oder PowerShell die folgenden Befehle aus:
wsl --shutdownDieser Befehl beendet WSL vollständig. Starten Sie anschließend Ihre WSL-Distribution neu, z.B. über das Startmenü oder mit dem Befehl
wslWSL wird nun mit den neuen Ressourceneinstellungen starten.
Überprüfen der Ressourcenkonfiguration
Innerhalb Ihrer WSL-Distribution können Sie mit Tools wie htop oder top beobachten, dass die CPU-Last begrenzt ist. Die physischen Limits selbst sehen Sie im Windows Task-Manager unter den einzelnen Prozessen für WSL.
Die Speicherbegrenzung können Sie ebenfalls durch free -h ansehen, wobei der verwendbare Speicher durch die Limitierung begrenzt ist.
Zusammenfassung
Um die Speicher- und CPU-Ressourcen von WSL zu begrenzen, erstellen oder bearbeiten Sie die Datei .wslconfig im Windows-Benutzerverzeichnis. Dort definieren Sie im Abschnitt die Parameter memory und processors. Nach dem Speichern führen Sie wsl --shutdown aus, um die Instanzen neu zu starten, damit die Einstellungen greifen. So erhalten Sie eine flexible und systemweite Steuerung über die Ressourcen, die WSL verwenden darf.