Сталкивались ли вы с процессом под названием «Vmmem» в диспетчере задач Windows? Не потребляет ли он слишком много ресурсов ЦП, ОЗУ и других системных ресурсов, что вас беспокоит? Это процесс, используемый Windows для демонстрации того, сколько ресурсов потребляют виртуальные машины.

Поэтому, если он показывает слишком большое потребление ЦП или ОЗУ, виновата ваша виртуальная машина. В этой статье мы рассмотрим этот процесс более подробно и покажем, как можно уменьшить потребление ресурсов.

Что делает процесс Vmmem?

Согласно Сообщение Microsoft DevBlogs, Windows создает процесс Vmmem для отображения ресурсов, потребляемых виртуальными машинами. Когда вы видите, что этот процесс потребляет слишком много ресурсов в диспетчере задач, ваши виртуальные машины на самом деле используют эти ресурсы, что только показывает этот процесс.

Как правило, мы видим, что этот процесс выполняется, когда вы активно запускаете виртуальную машину в диспетчере Hyper-V или используете WSL (подсистема Windows для Linux) для запуска двоичных исполняемых файлов Linux. В общем, это не должно перегружать ваши ресурсы, но когда это происходит, что-то не так.

Вы также видите высокое потребление ресурсов в диспетчере задач для этого процесса? Давайте посмотрим, что мы можем сделать, чтобы это исправить.

Во-первых, выясните, что вызывает проблему

Во-первых, определите, какая виртуальная машина или программа стоит за высоким потреблением ресурсов процессом Vmmem. Если вы используете только один диспетчер виртуальных машин, проблема уже найдена. Однако, если вы используете диспетчер виртуальных машин и WSL одновременно, вам необходимо определить, какая программа вызывает проблему.

Как определить, что истощает ваши ресурсы? Чтобы узнать, проба и лучший подход. Закройте виртуальные машины в диспетчере Hyper-V и посмотрите, поможет ли это снизить потребление ресурсов. Точно так же вы можете закрыть инструменты WSL и посмотреть, какое влияние они окажут.

Когда мы закрываем виртуальную машину в диспетчере Hyper-V, процесс Vmmem быстро исчезает из диспетчера задач, что означает, что этот процесс больше не потребляет ресурсов. Напротив, когда мы закрываем инструменты Linux или WSL, процессу Vmmem требуется некоторое время, чтобы исчезнуть, поэтому подождите немного, прежде чем оценивать влияние его закрытия.

После того, как вы определили основного виновника, обратитесь к приведенным ниже инструкциям, в которых объясняется, как уменьшить потребление ресурсов виртуальной машины в диспетчере Hyper-V и WSL.

Как уменьшить потребление ресурсов виртуальными машинами в диспетчере Hyper-V

Если процесс Vmmem показывает высокое потребление ресурсов в диспетчере задач при запуске виртуальных машин в диспетчере Hyper-V, то сначала выполните следующие предварительные проверки:

  • Включайте и выключайте свои виртуальные машины в диспетчере Hyper-V.
  • Перезапустите диспетчер Hyper-V после его закрытия.
  • Запускайте в диспетчере Hyper-V только одну виртуальную машину, если их несколько.
  • Если вы одновременно используете другой клиент виртуальной машины с диспетчером Hyper-V, закройте его.

Если вышеуказанные проверки не снижают потребление ресурсов, что можно проверить, посмотрев, сколько ресурсов процесс Vmmem использует в диспетчере задач, ограничьте выделение ресурсов виртуальной машины в Hyper-V Менеджер. Вот как:

  1. Запустите диспетчер Hyper-V.
  2. Щелкните правой кнопкой мыши на виртуальной машине и выберите Настройки.
  3. На левой боковой панели нажмите Память.
  4. Установите максимальный объем оперативной памяти, который может использовать виртуальная машина.
  5. Снимите флажок для Включить динамическую память или ограничить динамическую оперативную память, которую виртуальная машина может использовать там.

Точно так же вы можете изменить другие параметры, чтобы ограничить виртуальную машину использованием только определенных ресурсов и не нагружать компьютер. Если настройка этих параметров не помогает снизить потребление ресурсов, вы можете отказаться от диспетчера Hyper-V и использовать другой диспетчер виртуальных машин, например VirtualBox или VMware.

Большинство сторонних виртуальных менеджеров отображают потребление памяти в диспетчере задач с помощью процессов, отличных от процесса Vmmem. VMWare, например, использует процесс под названием VMware-vmx.exe. Поэтому следите за ними, и если они потребляют слишком много ресурсов, либо ограничьте выделение памяти, либо примените исправления, упомянутые для диспетчера Hyper-V.

В зависимости от вашей сборки Windows (и это действительно легко проверьте свою сборку на Windows 11), WSL может иметь право использовать от 50% до 80% вашей оперативной памяти, как описано в документация Майкрософт. Следовательно, вы можете себе представить, насколько ресурсоемким он может стать, что и пытается продемонстрировать процесс Vmmem.

Если запуск подсистемы Windows для Linux или определенных инструментов Linux приводит к высокому потреблению ресурсов, как показывает процесс Vmmem, вы можете восстановить память и устранить проблему, выполнив следующие действия:

1. Перезапустите WSL вручную

Один из самых простых способов решить проблему высокого потребления ресурсов инструментами WSL или Linux — просто перезапустить их. Таким образом, вы должны вручную закрыть все инструменты Linux, которые у вас открыты прямо сейчас, включая сам WSL.

Подождите минуту и ​​посмотрите, перестанет ли процесс Vmmem показывать вам огромное потребление ресурсов после этого. Если это так, снова перезапустите дистрибутивы WSL и посмотрите, ведет ли себя процесс Vmmem таким же образом. Если это так, пропустите второе исправление и примените третье.

Однако, если вы закроете WSL вручную и это не остановит процесс Vmmem в диспетчере задач, вы должны принудительно закрыть его. В следующем исправлении мы объясним, как это работает.

2. Принудительно закрыть WSL и перезапустить его

Чтобы принудительно закрыть WSL, выполните следующие действия:

  1. Запустите командную строку от имени администратора.
  2. Тип "wsl --shutdown."
  3. Ударять Входить.

После этого перезапустите дистрибутивы WSL. Если перезапуск WSL не устраняет проблему, перейдите к следующему исправлению.

3. Ограничьте ресурсы вручную для WSL

WSL также может быть ограничен с точки зрения используемых ресурсов, чтобы не перегружать вашу систему чрезмерными требованиями к ресурсам. Вы можете сделать это только с WSL 2, который работает только в сборках Windows выше 19041. Ознакомьтесь с нашей статьей о как установить WSL 2 на Windows если вы еще этого не сделали.

Если ваша сборка Windows поддерживает WSL 2 и вы уже установили ее, вы можете ограничить ее ресурсы, выполнив следующие действия:

  1. Запустите командную строку Windows от имени администратора.
  2. Тип "wsl-выключение" и нажмите Входить.
  3. Закройте командную строку Windows.
  4. Откройте ССЛ.
  5. После замены имени пользователя введите следующую команду:
    редактор "$(wslpath "C:\Users\YourUsername\.wslconfig")"
  6. Ударять Входить.
  7. Введите следующую конфигурацию: [wsl2] memory=5 ГБ (ограничьте ее в зависимости от размера вашей оперативной памяти)
  8. Ударять CTRL+Х.
  9. Нажимать "Ю" когда будет предложено сохранить изменения.
  10. Подтвердите местоположение, нажав Входить снова.
  11. Повторите шаги с первого по третий.
  12. Выполните следующую команду после перезапуска WSL, чтобы убедиться, что ресурсы были успешно выделены.
    бесплатно -h --giga

С помощью описанных выше шагов вы можете ограничить использование ресурсов WSL, чтобы он не перегружал ваш компьютер.

Можно ли завершить процесс Vmmem?

Диспетчер задач не позволяет закрыть процесс Vmmem, как обычные задачи. Если вы попытаетесь это сделать, вы столкнетесь с ошибкой. Чтобы завершить процесс Vmmem, вам нужно закрыть свои виртуальные машины и WSL или любой из его инструментов Linux.

Не позволяйте виртуальным машинам потреблять ваши ресурсы

Советы, упомянутые в статье, должны помочь вам ограничить потребление ресурсов виртуальной машины. После этого процесс Vmmem не будет отображаться в диспетчере задач как ресурсоемкий.

Выбор отличного диспетчера виртуальных машин необходим для эффективной работы виртуальных машин. Надежный менеджер виртуальных машин обеспечит вам оптимальную производительность, чего не даст обычный.