Ar „Windows“ užduočių tvarkyklėje susidūrėte su procesu pavadinimu „Vmmem“? Ar tai sunaudoja per daug procesoriaus, RAM ir kitų sistemos išteklių, o tai jums rūpi? Tai procesas, kurį naudoja „Windows“, kad parodytų, kiek išteklių sunaudoja virtualios mašinos.
Todėl, jei rodomas per didelis procesoriaus ar RAM suvartojimas, kalta jūsų virtualioji mašina. Šiame straipsnyje mes išsamiau išnagrinėsime šį procesą ir parodysime, kaip galite sumažinti jo išteklių suvartojimą.
Ką veikia Vmmem procesas?
Pasak a „Microsoft DevBlogs“ įrašas, Windows sukuria Vmmem procesą, kad būtų rodomi virtualių mašinų sunaudojami ištekliai. Kai matote, kad užduočių tvarkytuvėje šis procesas sunaudoja per daug išteklių, jūsų virtualios mašinos iš tikrųjų naudoja šiuos išteklius, kuriuos šis procesas tik parodo.
Paprastai matome, kad šis procesas vyksta, kai aktyviai paleidžiate virtualią mašiną „Hyper-V Manager“ arba naudojate WSL („Windows“ posistemį, skirtą Linux), kad paleistumėte dvejetainius „Linux“ vykdomuosius failus. Apskritai tai neturėtų perkrauti jūsų išteklių, bet kai taip, kažkas negerai.
Ar užduočių tvarkytuvėje taip pat matote didelį šio proceso išteklių suvartojimą? Pažiūrėkime, ką galime padaryti, kad tai ištaisytume.
Pirmiausia išsiaiškinkite, kas sukelia problemą
Pirmiausia nustatykite, kuri virtuali mašina ar programa yra už Vmmem proceso didelio išteklių sąnaudų. Jei naudojate tik vieną virtualios mašinos tvarkyklę, problemą jau radote. Tačiau jei vienu metu naudojate virtualiosios mašinos tvarkyklę ir WSL, turėsite nustatyti, kuri programa sukelia problemą.
Kaip galite nustatyti, kas vargina jūsų išteklius? Norėdami sužinoti, išbandykite ir yra geriausias būdas. Uždarykite virtualias mašinas „Hyper-V Manager“ ir pažiūrėkite, ar tai padeda sumažinti išteklių suvartojimą. Taip pat galite išjungti WSL įrankius ir pamatyti, kokį poveikį jie turi.
Kai uždarome virtualią mašiną „Hyper-V Manager“, „Vmmem“ procesas greitai dingsta iš užduočių tvarkyklės, o tai reiškia, kad šis procesas nebenaudoja išteklių. Priešingai, kai uždarome „Linux“ įrankius arba WSL, užtrunka šiek tiek laiko, kol „Vmmem“ procesas išnyksta, todėl šiek tiek palaukite prieš įvertindami jo uždarymo poveikį.
Nustatę pagrindinį kaltininką, žr. toliau pateiktas instrukcijas, kuriose paaiškinama, kaip sumažinti virtualios mašinos išteklių suvartojimą naudojant „Hyper-V Manager“ ir WSL.
Kaip sumažinti virtualių mašinų išteklių suvartojimą naudojant „Hyper-V Manager“.
Jei Vmmem procesas rodo didelį išteklių suvartojimą užduočių tvarkyklėje, kai virtualiosios mašinos veikia Hyper-V tvarkyklėje, pirmiausia atlikite šiuos preliminarius patikrinimus:
- Įjunkite ir išjunkite virtualias mašinas naudodami „Hyper-V Manager“.
- Iš naujo paleiskite „Hyper-V Manager“ ją uždarę.
- „Hyper-V Manager“ paleiskite tik vieną virtualią mašiną, jei turite daugiau nei vieną.
- Jei kartu su „Hyper-V Manager“ naudojate kitą virtualios mašinos klientą, uždarykite jį.
Jei pirmiau minėti patikrinimai nesumažina išteklių suvartojimo, tai galite patikrinti žiūrėdami, kiek išteklių „Vmmem“ procesas sunaudoja užduočių tvarkytuvę, apribokite virtualios mašinos išteklių paskirstymą „Hyper-V“ Vadovas. Štai kaip:
- Paleiskite „Hyper-V Manager“.
- Dešiniuoju pelės mygtuku spustelėkite savo virtualią mašiną ir spustelėkite Nustatymai.
- Kairėje šoninėje juostoje spustelėkite Atmintis.
- Nustatykite didžiausią RAM kiekį, kurį gali naudoti virtualioji mašina.
- Panaikinkite laukelio žymėjimą Įjungti dinaminę atmintį arba apriboti dinaminę RAM, kurią virtualioji mašina gali naudoti ten.
Taip pat galite pakeisti kitus parametrus, kad virtualioji mašina naudotų tik nurodytus išteklius ir neapkrautų kompiuterio. Jei šių nustatymų koregavimas nepadeda sumažinti išteklių suvartojimo, galite atsisakyti „Hyper-V Manager“ ir naudoti kitą virtualios mašinos tvarkyklę, pvz., „VirtualBox“ arba „VMware“.
Dauguma trečiųjų šalių virtualių tvarkytojų rodo atminties suvartojimą užduočių tvarkyklėje, naudodami kitus procesus nei Vmmem procesas. Pavyzdžiui, VMWare naudoja procesą, vadinamą VMware-vmx.exe. Todėl stebėkite juos ir, jei jie sunaudoja per daug išteklių, apribokite jų atminties paskirstymą arba pritaikykite „Hyper-V Manager“ paminėtas pataisas.
Priklausomai nuo jūsų „Windows“ versijos (ir tai tikrai lengva patikrinkite savo versiją „Windows 11“.), WSL gali turėti teisę naudoti 50–80 % jūsų RAM, kaip paaiškinta Microsoft dokumentacija. Taigi galite įsivaizduoti, kaip jis gali imti išteklius, o būtent tai bando parodyti Vmmem procesas.
Jei naudojant „Windows“ posistemę, skirtą „Linux“ arba konkrečius „Linux“ įrankius, sunaudojama daug išteklių, kaip rodo Vmmem procesas, galite susigrąžinti atmintį ir išspręsti problemą atlikdami šiuos veiksmus:
1. Iš naujo paleiskite WSL rankiniu būdu
Vienas iš paprasčiausių būdų, kaip išspręsti WSL arba Linux įrankių didelio išteklių suvartojimo problemą, yra tiesiog paleisti juos iš naujo. Taigi turėtumėte rankiniu būdu uždaryti kiekvieną dabar atidarytą „Linux“ įrankį, įskaitant patį WSL.
Palaukite minutę ir pažiūrėkite, ar po to Vmmem procesas nustos rodyti jums didelį išteklių suvartojimą. Jei taip, iš naujo paleiskite WSL paskirstymą ir patikrinkite, ar Vmmem procesas veikia taip pat. Jei taip, praleiskite antrą taisymą ir pritaikykite trečiąjį.
Tačiau jei WSL uždarote rankiniu būdu ir jis nesustabdo Vmmem proceso užduočių tvarkytuvėje, turite priverstinai jį išjungti. Kitame pataisyme paaiškinsime, kaip tai veikia.
2. Priverstinai uždarykite WSL ir paleiskite jį iš naujo
Norėdami priverstinai uždaryti WSL, atlikite šiuos veiksmus:
- Vykdykite komandų eilutę kaip administratorių.
- Tipas "wsl - išjungimas."
- Pataikė Įeikite.
Po to iš naujo paleiskite WSL platinimą. Jei iš naujo paleidus WSL problema neišsprendžiama, pereikite prie kito pataisymo.
3. Apribokite WSL išteklius rankiniu būdu
WSL taip pat gali būti apribotas naudojamų išteklių atžvilgiu, kad jūsų sistema neapkrautų pernelyg didelių išteklių poreikių. Tai galite padaryti tik naudodami WSL 2, kuri veikia tik naudojant naujesnes nei 19041 Windows versijas. Peržiūrėkite mūsų straipsnį apie kaip įdiegti WSL 2 sistemoje Windows jei dar to nepadarėte.
Jei jūsų „Windows Build“ palaiko WSL 2 ir jūs jau ją įdiegėte, galite apriboti jos išteklius atlikdami šiuos veiksmus:
- Paleiskite „Windows“ komandų eilutę kaip administratorių.
- Tipas „wsl – išjungimas“ ir paspauskite Įeikite.
- Uždarykite „Windows“ komandų eilutę.
- Atidarykite WSL.
- Pakeitę vartotojo vardą, įveskite šią komandą:
redaktorius "$(wslpath "C:\Users\YourUsername\.wslconfig")"
- Pataikė Įeikite.
- Įveskite šią konfigūraciją: [wsl2] atmintis = 5 GB (apribokite ją pagal RAM dydį)
- Pataikė CTRL + X.
- Paspauskite "Y" kai būsite paraginti išsaugoti pakeitimus.
- Patvirtinkite vietą paspausdami Įeikite vėl.
- Pakartokite veiksmus nuo vieno iki trijų.
- Paleiskite šią komandą iš naujo paleisdami WSL, kad patvirtintumėte, jog ištekliai buvo sėkmingai paskirstyti.
nemokama -h --giga
Atlikdami aukščiau nurodytus veiksmus, galite apriboti WSL išteklių naudojimą, kad jis per daug neapkrautų jūsų kompiuterio.
Ar įmanoma užbaigti Vmmem procesą?
Užduočių tvarkyklė neleidžia uždaryti Vmmem proceso kaip įprastų užduočių. Jei bandysite tai padaryti, susidursite su klaida. Norėdami baigti „Vmmem“ procesą, turėsite uždaryti virtualias mašinas ir WSL arba bet kurį jo „Linux“ įrankį.
Neleiskite virtualioms mašinoms sunaudoti jūsų išteklių
Straipsnyje paminėti patarimai turėtų padėti apriboti virtualios mašinos išteklių naudojimą. Kai tai padarysite, „Vmmem“ procesas nebus rodomas kaip daug išteklių vartotojas užduočių tvarkyklėje.
Norint efektyviai paleisti virtualiąsias mašinas, būtina pasirinkti puikų virtualios mašinos tvarkyklę. Patikimas virtualiosios mašinos tvarkyklė užtikrins optimalų našumą, o paprastas – ne.