Срещали ли сте процес, наречен "Vmmem" в диспечера на задачите на Windows? Консумира ли твърде много CPU, RAM и други системни ресурси, което ви притеснява? Това е процес, използван от Windows, за да демонстрира колко ресурси консумират виртуалните машини.
Следователно, ако показва твърде много консумация на процесор или RAM, вината е вашата виртуална машина. В тази статия ще разгледаме този процес по-подробно и ще ви покажем как можете да намалите потреблението на ресурси.
Какво прави процесът Vmmem?
Според а Публикация в Microsoft DevBlogs, Windows създава процеса Vmmem за показване на ресурсите, консумирани от виртуални машини. Когато видите, че този процес консумира твърде много ресурси в диспечера на задачите, вашите виртуални машини всъщност използват тези ресурси, което този процес просто показва.
Обикновено виждаме този процес да се изпълнява, когато активно стартирате виртуална машина в Hyper-V Manager или използвате WSL (подсистема на Windows за Linux), за да стартирате бинарни изпълними файлове на Linux. Като цяло не трябва да претоварва ресурсите ви, но когато се случи, има нещо нередно.
Виждате ли също висока консумация на ресурси в диспечера на задачите за този процес? Да видим какво можем да направим, за да го поправим.
Първо разберете какво причинява проблема
Първо, идентифицирайте коя виртуална машина или програма стои зад високата консумация на ресурси от процеса Vmmem. Ако използвате само един мениджър на виртуална машина, тогава вече сте открили проблема. Въпреки това, ако използвате диспечера на виртуална машина и WSL едновременно, ще трябва да определите коя програма причинява проблема.
Как можете да определите какво натоварва вашите ресурси? За да разберете, опитайте и е най-добрият подход. Затворете виртуалните машини във вашия Hyper-V Manager и вижте дали това помага за намаляване на потреблението на ресурси. По същия начин можете да изключите WSL инструментите и да видите какво въздействие имат.
Когато затворим виртуална машина в Hyper-V Manager, процесът Vmmem незабавно изчезва от диспечера на задачите, което означава, че вече няма потребление на ресурси от този процес. За разлика от това, когато затворим Linux инструменти или WSL, процесът Vmmem отнема известно време, за да изчезне, така че изчакайте малко, преди да оцените въздействието от затварянето му.
След като идентифицирате основния виновник, вижте инструкциите по-долу, които обясняват как да намалите потреблението на ресурси на виртуална машина в Hyper-V Manager и WSL.
Как да намалите потреблението на ресурси от виртуални машини в Hyper-V Manager
Ако процесът Vmmem показва висока консумация на ресурси в диспечера на задачите при стартиране на виртуални машини в Hyper-V диспечера, първо приложете следните предварителни проверки:
- Включете и изключете вашите виртуални машини в Hyper-V Manager.
- Рестартирайте Hyper-V Manager, след като го затворите.
- Стартирайте само една виртуална машина в Hyper-V Manager, ако имате повече от една.
- Ако едновременно използвате друг клиент на виртуална машина с Hyper-V Manager, затворете го.
Ако горните проверки не намалят потреблението на ресурси, което можете да проверите, като погледнете колко ресурси процесът Vmmem консумира в диспечера на задачите, ограничете разпределението на ресурсите на виртуалната машина в Hyper-V Управител. Ето как:
- Стартирайте Hyper-V Manager.
- Щракнете с десния бутон върху вашата виртуална машина и щракнете Настройки.
- Кликнете върху лявата странична лента памет.
- Задайте максималното количество RAM, което виртуалната машина може да използва.
- Премахнете отметката от квадратчето за Активирайте динамичната памет или ограничете динамичната RAM, която виртуалната машина може да използва там.
По подобен начин можете да промените други параметри, за да ограничите виртуалната машина да използва само определени ресурси и да не натоварва компютъра ви. Ако промяната на тези настройки не помогне за намаляване на потреблението на ресурси, можете да се откажете от Hyper-V Manager и да използвате друг мениджър на виртуална машина, като VirtualBox или VMware.
Повечето виртуални мениджъри на трети страни показват потреблението на памет в диспечера на задачите, използвайки процеси, различни от процеса Vmmem. VMWare, например, използва процес, наречен VMware-vmx.exe. Затова ги следете и ако консумират твърде много ресурси, или ограничете разпределението на паметта им, или приложете корекциите, споменати за Hyper-V Manager.
В зависимост от вашата компилация на Windows (и това е наистина лесно проверете компилацията си на Windows 11), WSL може да има правото да използва 50% до 80% от вашата RAM, както е обяснено в Документация на Microsoft. Следователно можете да си представите колко гладен за ресурси може да стане, което е точно това, което процесът Vmmem се опитва да демонстрира.
Ако стартирането на подсистема на Windows за Linux или специфични инструменти на Linux води до висока консумация на ресурси, както е показано от процеса Vmmem, можете да възстановите паметта и да коригирате проблема, като следвате тези стъпки:
1. Рестартирайте WSL ръчно
Един от най-лесните начини за разрешаване на високата консумация на ресурси от WSL или Linux инструменти е просто да ги рестартирате. Следователно трябва ръчно да затворите всеки Linux инструмент, който сте отворили в момента, включително самия WSL.
Изчакайте малко и вижте дали процесът Vmmem спира да ви показва огромната консумация на ресурси след това. Ако това стане, рестартирайте WSL дистрибуциите отново и вижте дали процесът Vmmem се държи по същия начин. Ако е така, пропуснете втората корекция и приложете третата.
Ако обаче затворите WSL ръчно и той не спре процеса Vmmem в диспечера на задачите, трябва да го изключите принудително. В следващата корекция ще обясним как работи това.
2. Принудително затворете WSL и го рестартирайте
За да затворите принудително WSL, изпълнете следните стъпки:
- Стартирайте командния ред като администратор.
- Тип "wsl --изключване."
- Хит Въведете.
Рестартирайте WSL дистрибуциите след това. Ако рестартирането на WSL не реши проблема, преминете към следващата корекция.
3. Ръчно ограничаване на ресурсите за WSL
WSL може също да бъде ограничен по отношение на ресурсите, които използва, така че да не натоварва системата ви с прекомерни изисквания за ресурси. Можете да направите това само с WSL 2, който работи само на компилации на Windows над 19041. Вижте нашата статия за как да инсталирате WSL 2 на Windows ако още не сте го направили.
Ако вашата компилация на Windows поддържа WSL 2 и вече сте я инсталирали, можете да ограничите нейните ресурси, като следвате тези стъпки:
- Стартирайте Windows Command Prompt като администратор.
- Тип "wsl –изключване" и натиснете Въведете.
- Затворете командния ред на Windows.
- Отворете WSL.
- След като смените потребителското си име, въведете следната команда:
редактор "$(wslpath "C:\Users\YourUsername\.wslconfig")"
- Хит Въведете.
- Въведете следната конфигурация: [wsl2] памет=5GB (ограничете я въз основа на размера на вашата RAM памет)
- Хит CTRL + X.
- Натиснете "Y" когато бъдете подканени да запазите промените.
- Потвърдете местоположението с натискане Въведете отново.
- Повторете стъпки от едно до три.
- Изпълнете следната команда след рестартиране на WSL, за да потвърдите, че ресурсите са разпределени успешно.
безплатно -h --giga
С горните стъпки можете да ограничите използването на ресурси на WSL, така че да не натоварва компютъра ви.
Възможно ли е да прекратите процеса Vmmem?
Диспечерът на задачите не ви позволява да затворите процеса Vmmem като обикновените задачи. Ако се опитате да го направите, ще срещнете грешка. За да прекратите процеса Vmmem, ще трябва да затворите вашите виртуални машини и WSL или някой от неговите Linux инструменти.
Не позволявайте на виртуалните машини да консумират вашите ресурси
Съветите, споменати в статията, трябва да ви помогнат да ограничите потреблението на ресурси на виртуална машина. След като направите това, процесът Vmmem няма да се показва като висок потребител на ресурси в диспечера на задачите.
Изборът на отличен мениджър на виртуални машини е от съществено значение за ефективното управление на виртуални машини. Надеждният мениджър на виртуална машина ще ви осигури оптимална производителност, която обикновеният няма да направи.