Czy napotkałeś proces o nazwie „Vmmem” w Menedżerze zadań systemu Windows? Czy zużywa zbyt dużo procesora, pamięci RAM i innych zasobów systemowych, co Cię martwi? Jest to proces używany przez system Windows do demonstrowania, ile zasobów zużywają maszyny wirtualne.
Dlatego jeśli pokazuje zbyt duże zużycie procesora lub pamięci RAM, winna jest twoja maszyna wirtualna. W tym artykule przyjrzymy się temu procesowi bardziej szczegółowo i pokażemy, jak można zmniejszyć zużycie zasobów.
Co robi proces Vmmem?
Według Wpis w Microsoft DevBlogs, system Windows tworzy proces Vmmem w celu wyświetlenia zasobów zużywanych przez maszyny wirtualne. Kiedy zobaczysz, że ten proces zużywa zbyt wiele zasobów w Menedżerze zadań, twoje maszyny wirtualne faktycznie używają tych zasobów, co właśnie pokazuje ten proces.
Zwykle widzimy, że ten proces działa, gdy aktywnie uruchamiasz maszynę wirtualną w Hyper-V Manager lub używasz WSL (podsystem Windows dla systemu Linux) do uruchamiania binarnych plików wykonywalnych systemu Linux. Ogólnie rzecz biorąc, nie powinno to przeciążać twoich zasobów, ale kiedy tak się stanie, coś jest nie tak.
Czy widzisz również wysokie zużycie zasobów w Menedżerze zadań dla tego procesu? Zobaczmy, co możemy zrobić, aby to naprawić.
Najpierw dowiedz się, co jest przyczyną problemu
Najpierw określ, która maszyna wirtualna lub program odpowiada za wysokie zużycie zasobów przez proces Vmmem. Jeśli używasz tylko jednego menedżera maszyny wirtualnej, problem już został znaleziony. Jeśli jednak używasz jednocześnie Menedżera maszyn wirtualnych i WSL, musisz określić, który program powoduje problem.
Jak określić, co obciąża Twoje zasoby? Aby się dowiedzieć, wypróbuj i jest najlepszym podejściem. Zamknij maszyny wirtualne w Menedżerze funkcji Hyper-V i sprawdź, czy pomaga to zmniejszyć zużycie zasobów. Podobnie możesz zamknąć narzędzia WSL i zobaczyć, jaki mają wpływ.
Kiedy zamykamy maszynę wirtualną w Hyper-V Manager, proces Vmmem natychmiast znika z Menedżera zadań, co oznacza, że proces ten nie zużywa już zasobów. W przeciwieństwie do tego, kiedy zamykamy narzędzia Linux lub WSL, zanikanie procesu Vmmem zajmuje trochę czasu, więc poczekaj chwilę, zanim ocenisz wpływ jego zamknięcia.
Po zidentyfikowaniu głównego winowajcy zapoznaj się z poniższymi instrukcjami, które wyjaśniają, jak zmniejszyć zużycie zasobów maszyny wirtualnej w Hyper-V Manager i WSL.
Jak zmniejszyć zużycie zasobów przez maszyny wirtualne w Hyper-V Manager
Jeśli proces Vmmem wykazuje wysokie zużycie zasobów w Menedżerze zadań podczas uruchamiania maszyn wirtualnych w Menedżerze funkcji Hyper-V, najpierw zastosuj następujące kontrole wstępne:
- Włączanie i wyłączanie maszyn wirtualnych w Hyper-V Manager.
- Uruchom ponownie Menedżera Hyper-V po jego zamknięciu.
- Uruchom tylko jedną maszynę wirtualną w Hyper-V Manager, jeśli masz więcej niż jedną.
- Jeśli jednocześnie używasz innego klienta maszyny wirtualnej z Hyper-V Manager, zamknij go.
Jeśli powyższe kontrole nie zmniejszą zużycia zasobów, co możesz sprawdzić, patrząc na liczbę zasobów proces Vmmem zużywa w Menedżerze zadań, ogranicz alokację zasobów maszyny wirtualnej w Hyper-V Menedżer. Oto jak:
- Uruchom Menedżera Hyper-V.
- Kliknij prawym przyciskiem myszy swoją maszynę wirtualną i kliknij Ustawienia.
- Kliknij na lewym pasku bocznym Pamięć.
- Ustaw maksymalną ilość pamięci RAM, z której może korzystać maszyna wirtualna.
- Odznacz pole dla Włącz pamięć dynamiczną lub ogranicz dynamiczną pamięć RAM, z której może korzystać maszyna wirtualna.
Podobnie możesz zmienić inne parametry, aby ograniczyć maszynę wirtualną do korzystania tylko z określonych zasobów i nie obciążać komputera. Jeśli dostosowanie tych ustawień nie pomoże zmniejszyć zużycia zasobów, możesz zrezygnować z Hyper-V Manager i użyć innego menedżera maszyny wirtualnej, takiego jak VirtualBox lub VMware.
Większość menedżerów wirtualnych innych firm wyświetla zużycie pamięci w Menedżerze zadań przy użyciu procesów innych niż proces Vmmem. Na przykład VMWare używa procesu o nazwie VMware-vmx.exe. Dlatego miej je na oku, a jeśli zużywają zbyt wiele zasobów, albo ogranicz ich alokację pamięci, albo zastosuj poprawki wspomniane dla Hyper-V Manager.
W zależności od wersji systemu Windows (i jest to naprawdę łatwe sprawdź swoją kompilację w systemie Windows 11), WSL może mieć prawo do wykorzystania od 50% do 80% pamięci RAM, jak wyjaśniono w Dokumentacja Microsoftu. Dlatego możesz sobie wyobrazić, jak bardzo może być głodny zasobów, co dokładnie próbuje zademonstrować proces Vmmem.
Jeśli działanie podsystemu Windows dla systemu Linux lub określonych narzędzi systemu Linux powoduje wysokie zużycie zasobów, jak pokazuje proces Vmmem, możesz odzyskać pamięć i rozwiązać problem, wykonując następujące kroki:
1. Uruchom ponownie WSL ręcznie
Jednym z najprostszych sposobów rozwiązania problemu wysokiego zużycia zasobów przez narzędzia WSL lub Linux jest ich ponowne uruchomienie. Dlatego powinieneś ręcznie zamknąć każde narzędzie Linux, które masz teraz otwarte, w tym sam WSL.
Poczekaj chwilę i sprawdź, czy proces Vmmem przestanie pokazywać duże zużycie zasobów po tym. Jeśli tak, uruchom ponownie dystrybucje WSL i sprawdź, czy proces Vmmem zachowuje się w ten sam sposób. Jeśli tak, pomiń drugą poprawkę i zastosuj trzecią.
Jeśli jednak ręcznie zamkniesz WSL i nie zatrzyma to procesu Vmmem w Menedżerze zadań, musisz go zamknąć na siłę. W następnej poprawce wyjaśnimy, jak to działa.
2. Wymuś zamknięcie WSL i uruchom go ponownie
Aby wymusić zamknięcie WSL, wykonaj następujące kroki:
- Uruchom wiersz polecenia jako administrator.
- Typ "wsl --zamknij."
- Uderzyć Wchodzić.
Następnie zrestartuj dystrybucje WSL. Jeśli ponowne uruchomienie WSL nie rozwiąże problemu, przejdź do następnej poprawki.
3. Ogranicz zasoby ręcznie dla WSL
WSL można również ograniczyć pod względem wykorzystywanych zasobów, aby nie przeciążać systemu nadmiernym zapotrzebowaniem na zasoby. Możesz to zrobić tylko z WSL 2, który działa tylko w kompilacjach systemu Windows wyższych niż 19041. Sprawdź nasz artykuł nt jak zainstalować WSL 2 w systemie Windows jeśli jeszcze tego nie zrobiłeś.
Jeśli twoja kompilacja systemu Windows obsługuje WSL 2 i już ją zainstalowałeś, możesz ograniczyć jej zasoby, wykonując następujące kroki:
- Uruchom wiersz polecenia systemu Windows jako administrator.
- Typ "wsl – zamknięcie" i naciśnij Wchodzić.
- Zamknij wiersz polecenia systemu Windows.
- Otwórz plik WSL.
- Po zastąpieniu nazwy użytkownika wprowadź następujące polecenie:
edytor "$(wslpath "C:\Użytkownicy\TwojaNazwaUżytkownika\.wslconfig")"
- Uderzyć Wchodzić.
- Wprowadź następującą konfigurację: [wsl2] memory=5GB (ogranicz ją na podstawie rozmiaru pamięci RAM)
- Uderzyć CTRL + X.
- Naciskać „Y” po wyświetleniu monitu o zapisanie zmian.
- Potwierdź lokalizację, naciskając Wchodzić Ponownie.
- Powtórz kroki od pierwszego do trzeciego.
- Uruchom następującą komendę po ponownym uruchomieniu usługi WSL, aby potwierdzić, że zasoby zostały pomyślnie przydzielone.
darmowe -h --giga
Wykonując powyższe kroki, możesz ograniczyć wykorzystanie zasobów WSL, aby nie przeciążał komputera.
Czy można zakończyć proces Vmmem?
Menedżer zadań nie pozwala zamknąć procesu Vmmem, tak jak zwykłe zadania. Jeśli spróbujesz to zrobić, napotkasz błąd. Aby zakończyć proces Vmmem, musisz zamknąć maszyny wirtualne i WSL lub dowolne z jego narzędzi Linux.
Nie pozwól, aby maszyny wirtualne pochłaniały Twoje zasoby
Wskazówki wymienione w artykule powinny pomóc w ograniczeniu zużycia zasobów maszyny wirtualnej. Po wykonaniu tej czynności proces Vmmem nie będzie wyświetlany jako konsument o dużej zawartości zasobów w Menedżerze zadań.
Wybór doskonałego menedżera maszyn wirtualnych jest niezbędny do wydajnego uruchamiania maszyn wirtualnych. Niezawodny menedżer maszyn wirtualnych zapewni Ci optymalną wydajność, której zwykły menedżer nie zapewni.