Встречали ли вы процесс с именем «Vmmem» в диспетчере задач Windows ? Он потребляет слишком много ресурсов процессора, оперативной памяти и других системных ресурсов. Вас это беспокоит? Это процесс, используемый Windows для демонстрации того, сколько ресурсов потребляет виртуальная машина.
Следовательно, если он показывает чрезмерное потребление ЦП или ОЗУ, это является причиной ошибки вашей виртуальной машины. В этой статье Quantrimang.com более подробно изучит этот процесс и покажет, как можно сократить потребление ресурсов.
Что делает процесс Vmmem?
Согласно сообщению в Microsoft DevBlogs, Windows создает процесс Vmmem для отображения ресурсов, потребляемых виртуальной машиной. Когда вы видите, что этот процесс потребляет слишком много ресурсов в диспетчере задач, ваша виртуальная машина фактически использует эти ресурсы, этот процесс просто действует для отображения.
Обычно этот процесс происходит, когда вы активно запускаете виртуальную машину в диспетчере Hyper-V или используете WSL (подсистему Windows для Linux) для запуска двоичных исполняемых файлов Linux. В общем, это не должно перегружать ваши ресурсы, но когда это происходит, значит, что-то не так.
Если вы видите высокое потребление ресурсов в диспетчере задач для этого процесса, посмотрите, что можно сделать, чтобы это исправить.
Сначала выясните, в чем причина проблемы
Сначала определите, какая виртуальная машина или программа стоит за высоким потреблением ресурсов процесса Vmmem. Если вы запустите только один менеджер виртуальных машин, вы сразу обнаружите причину проблемы. Однако если вы одновременно используете диспетчер виртуальных машин и WSL, вам необходимо определить, какая программа вызывает проблему.
Чтобы узнать это, закройте виртуальные машины в диспетчере Hyper-V и посмотрите, поможет ли это снизить потребление ресурсов. Аналогичным образом вы можете отключить инструменты WSL и увидеть их влияние.
При закрытии виртуальной машины в диспетчере Hyper-V процесс Vmmem немедленно исчезает из диспетчера задач, что означает, что процесс больше не потребляет ресурсы. И наоборот, при закрытии инструментов Linux или WSL процессу Vmmem потребуется некоторое время, чтобы исчезнуть, поэтому подождите немного, прежде чем оценивать влияние его закрытия.
После того, как вы определили основного виновника, обратитесь к приведенному ниже руководству, в котором объясняется, как уменьшить потребление ресурсов виртуальной машины в Hyper-V Manager и WSL.
Как уменьшить потребление ресурсов виртуальной машины в Hyper-V Manager
Если процесс Vmmem показывает высокое потребление ресурсов в диспетчере задач при запуске виртуальных машин в диспетчере Hyper-V, сначала примените следующие предварительные проверки:
- Включите и выключите виртуальную машину в диспетчере Hyper-V.
- Перезапустите диспетчер Hyper-V после его закрытия.
- Если у вас несколько машин, запускайте только одну виртуальную машину в диспетчере Hyper-V.
- Если вы одновременно используете другое приложение виртуальной машины с диспетчером Hyper-V, закройте его.
Если вышеуказанные проверки не снижают потребление ресурсов, вы можете проверить, увидев, сколько ресурсов потребляет процесс Vmmem в диспетчере задач, и ограничить выделение ресурсов виртуальной машины в диспетчере Hyper-V. Вот как:
- Запустите диспетчер Hyper-V.
- Щелкните правой кнопкой мыши свою виртуальную машину и выберите «Настройки».
Откройте настройки виртуальной машины в диспетчере Hyper-V.
- На левой боковой панели нажмите «Память».
- Установите максимальный объем оперативной памяти, который может использовать виртуальная машина.
- Снимите флажок «Включить динамическую память» или ограничьте объем динамической оперативной памяти, которую виртуальная машина может там использовать.
Измените распределение памяти виртуальной машины через окно настроек в диспетчере Hyper-V.
Аналогичным образом вы можете изменить другие параметры, чтобы ограничить использование виртуальной машины только указанными ресурсами и не оказывать давления на ваш компьютер. Если настройка этих параметров не помогает снизить потребление ресурсов, вы можете отказаться от диспетчера Hyper-V и использовать другой диспетчер виртуальных машин, например VirtualBox или VMware .
Большинство сторонних виртуальных менеджеров отображают потребление памяти в диспетчере задач с использованием процессов, отличных от процесса Vmmem. Например, VMWare использует процесс с именем VMware-vmx.exe. Поэтому следите за ними и, если они потребляют слишком много ресурсов, ограничьте выделение им памяти или примените упомянутые исправления для диспетчера Hyper-V.
Как сократить потребление ресурсов с помощью инструментов WSL и Linux
В зависимости от вашей сборки Windows WSL может иметь разрешение на использование от 50% до 80% оперативной памяти, как описано в документации 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. Прочтите статью Quantrimang.com о том, как установить WSL 2 в Windows , если вы еще этого не сделали.
Если ваша сборка Windows поддерживает WSL 2 и он у вас установлен, вы можете ограничить его ресурсы, выполнив следующие действия:
- Запустите командную строку Windows с правами администратора.
- Введите «wsl –shutdown» и нажмите Enter.
- Закройте командную строку Windows.
- Откройте ВСЛ.
- После замены имени пользователя введите следующую команду:
editor "$(wslpath "C:\Users\YourUsername\.wslconfig")"
Ограничение ресурсов WSL 2
- Введите следующую конфигурацию: [wsl2] память=5 ГБ (ограничение зависит от размера вашей оперативной памяти).
- Нажмите CTRL + X.
- Нажмите «Y» , когда будет предложено сохранить изменения.
Сохранить изменения
- Подтвердите местоположение, снова нажав Enter .
- Повторите шаги с 1 по 3.
- Выполните следующую команду после перезапуска WSL, чтобы убедиться, что ресурсы были успешно выделены.
free -h --giga
Подтвердите, что ресурс был успешно выделен
Выполнив описанные выше действия, вы можете ограничить использование ресурсов WSL, чтобы не перегружать свой компьютер.
Можно ли завершить процесс Vmmem?
Диспетчер задач не позволяет закрыть процесс Vmmem, как обычные задачи. Если вы попытаетесь это сделать, вы получите сообщение об ошибке. Чтобы завершить процесс Vmmem, вам необходимо закрыть виртуальные машины и WSL или любой из его инструментов Linux.
Не позволяйте виртуальным машинам потреблять ваши ресурсы!
Советы, упомянутые в статье, помогут вам ограничить потребление ресурсов виртуальной машины. После этого процесс Vmmem не будет потреблять много ресурсов в диспетчере задач.
Выбор отличного менеджера виртуальных машин имеет важное значение для эффективной работы виртуальных машин. Надежный менеджер виртуальных машин обеспечит вам оптимальную производительность, чего не сможет обеспечить обычный менеджер виртуальных машин.