Proces Docker Vmmem wymaga zbyt dużej pamięci w systemie Windows 11/10

Proces Docker Vmmem wymaga zbyt dużej pamięci w systemie Windows 11/10

Użytkownicy, którzy zainstalowali Docker za pomocą podsystemu Windows dla Linux2 na swoich maszynach Windows, skarżyli się na przeżywanie procesu VMMEM zużywając ogromną moc pamięci. Według tych dotkniętych użytkowników ten drenaż pamięci spada z wykresów, czasem nawet do 99% (1.5-2 GB pamięci RAM)! Jest to problem niepełnosprawny, ponieważ znacznie spowalnia dotknięty system. Powinieneś więc postępować zgodnie z tymi poprawkami, aby rozwiązać problem.

Spis treści

  • Napraw 1 - Niech uruchomi się
  • Fix 2 - Zamkń WSL
  • Napraw 3 - Ogranicz użycie pamięci
  • Napraw 4 - Uruchom ponownie LXSSINGER
  • Fix 5 - Zwiększ przydzielone zasoby

Napraw 1 - Niech uruchomi się

Proces VMMEM nadal działa nawet po zamknięciu WSL2. Jest to normalne zachowanie, a VMMEM może nadal spożywać wyższe ilości zasobów systemowych do 1-2 minut po zakończeniu procesu VMMEM. Poczekaj więc, aż się zatrzyma i ostatecznie zwolni pamięć.

Fix 2 - Zamkń WSL

Najlepszym sposobem na powstrzymanie Dockera przed użyciem zbyt dużej pamięci jest zamknięcie podsystemu Windows dla Linux.

NOTATKA - Gdy zatrzymuje to WSL2, powinieneś uważać na to tylko w potrzebie. Tak więc uruchom to tylko wtedy, gdy skończysz uruchamiać Docker i nie potrzebujesz tego dalej.

1. Możesz to zrobić z dowolnego terminalu, ale musisz go otworzyć z prawami administracyjnymi. Więc otwórz pole wyszukiwania i wpisz „PowerShell".

2. Następnie kliknij prawym przyciskiem myszy „Windows PowerShell”I kliknij„Uruchom jako administrator„Aby otworzyć terminal jako administrator.

PowerShell Run jako administrator

3. Teraz, pisać to w terminalu i uderzeniu Wchodzić Aby wyłączyć podsystem systemu Windows dla Linux.

WSL -Shutdown
WSL Zamknij min 1

To zamknie WSL2 i ostatecznie VMMEM przestanie spożywać ogromne ilości pamięci.

Napraw 3 - Ogranicz użycie pamięci

Jest inny sposób, w jaki możesz powiązać użycie pamięci przez WSL2. Możesz utworzyć nowy plik konfiguracyjny lub edytować istniejący.

Krok 1

1. Na początku musisz zamknąć konfigurację WSL2.

2. Więc zacznij pisać „PowerShell”W polu wyszukiwania.

3. Następnie kliknij prawym przyciskiem myszy „Windows PowerShell”I kliknij„Uruchom jako administrator„Aby uruchomić terminal jako administrator.

PowerShell Run jako administrator

4. Następnie uruchom ten kod, aby natychmiast zatrzymać WSL2.

WSL -Shutdown
WSL Zamknij min 1

Następnie możesz zamknąć PowerShell terminal.

Krok 2

Teraz musisz utworzyć plik konfiguracyjny. Więc przesuwaj się przez te punkty.

1. Wyszukaj i otwórz Notatnik.

Notatnik min

2. Tam, pasta Te dwie linie.

[WSL2] Pamięć = 2GB # ogranicza pamięć VM w WSL 2 do 3GB Procesory = 2 # Zrób WSL 2 Użyj do dwóch procesorów wirtualnych

[[[NOTATKA - Możesz zobaczyć w pliku konfiguracyjnym, ustawiliśmy parametr pamięci na 2 GB, a liczba procesorów wirtualnych na 2. To są modyfikatory i możesz je ustawić tak, jak chcesz.]

pamięć WS min

3. Następnie kliknij „Plik”I kliknij„Zapisz jako„Aby zapisać plik.

Zapisz jako min

4. Teraz nazwij plik „%Profil użytkownika%\.WSLConfig".

5. Następnie kliknij "Ratować„Aby zapisać plik.

Zapisz konfigurację min

Możesz zamknąć Notatnik po tym.

Po tym otworzy Doker. Jak tylko to otworzysz, zobaczysz opcję ponownego uruchomienia maszyny wirtualnej.

Więc kliknij „Tak„Aby to zrestartować.

Teraz Vmmem nie zje wysokiej ilości pamięci RAM.

Opcjonalne kroki -

Linux zużywa więcej pamięci do plików pamięci podręcznej. Możesz temu zapobiec za pomocą tej pojedynczej linii (uruchomiony z terminalu administracyjnego) -

Echo 3 | sudo tee/proc/sys/vm/drop_caches

Powinno to ograniczyć pamięć pamięci podręcznej i zwolnić więcej pamięci RAM dla hosta.

Napraw 4 - Uruchom ponownie LXSSINGER

Musisz ponownie uruchomić LXSSantager w PowerShell.

1. otwarty PowerShell lub jakikolwiek inny terminal jako administrator.

2. Następnie, wejście To polecenie i uderzenie Wchodzić Aby zrestartować lxssmanager.

LXSSINGER RESTART-SERVICE

Następnie ponownie sprawdź zużycie pamięci RAM.

Fix 5 - Zwiększ przydzielone zasoby

Możesz zwiększyć przydzielony pamięć RAM oraz procesor i łatwo zamienić, aby zużycie VMMEM znacznie się zmniejszyło.

1. otwarty Ustawienia dokera [Może być konieczne uruchomienie VM Docker w trybie Linux, aby zobaczyć te ustawienia.].

2. Tam, idź do „Zaawansowany" ustawienie.

3. Wewnątrz możesz dostosować ustawienia procesora, pamięci i zamiany zgodnie z dostępnymi zasobami systemowymi.

Powinno to znacznie zmniejszyć zużycie zasobów VMMEM.