Win中的Vmmem进程是什么?解决占用内存高的方法

您是否在 Windows 任务管理器中遇到过名为“Vmmem”的进程?它是否消耗过多的 CPU、RAM 和其他系统资源 , 令您担心?这是Windows用来演示虚拟机消耗多少资源的过程 。
因此 , 如果显示 CPU 或 RAM 消耗过多 , 则应归咎于您的虚拟机 。在本文中 , 我们将更详细地探讨此过程 , 并向您展示如何减少其资源消耗 。
Vmmem 进程的作用是什么?
根据Microsoft DevBlogs 的一篇文章 , Windows 创建了 Vmmem 进程来显示虚拟机消耗的资源 。当您在任务管理器中看到此进程消耗了太多资源时 , 您的虚拟机实际上正在使用这些资源 , 此进程只是显示了这一点 。
通常 , 当您在 Hyper-V 管理器中主动运行虚拟机或使用 WSL(适用于 Linux 的 Windows 子系统)运行 Linux 二进制可执行文件时 , 我们会看到此进程正在运行 。一般来说 , 它不应该使您的资源超载 , 但是当它超载时 , 就会出现问题 。
您是否还看到任务管理器中此进程的资源消耗很高?让我们看看我们能做些什么来解决这个问题 。
首先 , 找出导致问题的原因
首先 , 确定导致 Vmmem 进程资源消耗过高的虚拟机或程序 。如果您只运行一个虚拟机管理器 , 那么您就已经发现了问题 。但是 , 如果您同时运行虚拟机管理器和 WSL , 则需要确定哪个程序导致了问题 。
您如何确定是什么导致您的资源紧张?找出答案 , 尝试才是最好的办法 。关闭 Hyper-V 管理器中的虚拟机 , 看看这是否有助于减少资源消耗 。同样 , 您可以关闭 WSL 工具并查看它们会产生什么影响 。
当我们在Hyper-V Manager中关闭虚拟机时 , Vmmem进程会立即从任务管理器中消失 , 这意味着该进程不再消耗任何资源 。相反 , 当我们关闭 Linux 工具或 WSL 时 , Vmmem 进程需要一些时间才能消失 , 因此请稍等一下 , 然后再评估关闭它的影响 。
确定罪魁祸首后 , 请参阅下面的说明 , 了解如何减少 Hyper-V Manager 和 WSL 中的虚拟机资源消耗 。
如何减少 Hyper-V 管理器中虚拟机的资源消耗
在 Hyper-V 管理器中运行虚拟机时 , 如果 Vmmem 进程在任务管理器中显示资源消耗较高 , 请首先应用以下初步检查:

  • 在 Hyper-V 管理器中打开和关闭虚拟机 。
  • 关闭 Hyper-V 管理器后重新启动它 。
  • 如果您有多个虚拟机 , 则仅在 Hyper-V 管理器中运行一台虚拟机 。
  • 如果您同时使用另一个虚拟机客户端和 Hyper-V 管理器 , 请将其关闭 。
如果上述检查没有减少资源消耗 , 您可以通过在任务管理器中查看 Vmmem 进程消耗了多少资源来检查 , 然后在 Hyper-V 管理器中限制虚拟机的资源分配 。就是这样:
  1. 启动 Hyper-V 管理器 。
  2. 右键单击您的虚拟机 , 然后单击“设置” 。
    Win中的Vmmem进程是什么?解决占用内存高的方法

    文章插图
  3. 在左侧边栏上 , 单击“内存” 。
  4. 设置虚拟机可以使用的最大 RAM 量 。
  5. 取消选中启用动态内存复选框或限制虚拟机可以使用的动态 RAM 。
    Win中的Vmmem进程是什么?解决占用内存高的方法

    文章插图
同样 , 您可以更改其他参数以限制虚拟机仅使用指定的资源 , 而不会给您的计算机带来压力 。如果调整这些设置无法帮助降低资源消耗 , 您可以放弃 Hyper-V 管理器并使用其他虚拟机管理器 , 例如 VirtualBox 或 VMware 。
大多数第三方虚拟管理器使用 Vmmem 进程以外的进程在任务管理器中显示内存消耗情况 。例如 , VMWare 使用名为 VMware-vmx.exe 的进程 。因此 , 请密切关注它们 , 如果它们消耗太多资源 , 请限制其内存分配或应用针对 Hyper-V 管理器提到的修复程序 。
如何通过 WSL 和 Linux 工具减少资源消耗
根据您的 Windows 版本(在 Windows 11 上检查您的版本非常容易) , WSL 可能有权使用您的 RAM 的 50% 到 80% , 如Microsoft 文档中所述 。因此 , 您可以想象它会变得多么消耗资源 , 这正是 Vmmem 进程试图演示的 。
如果运行适用于 Linux 的 Windows 子系统或特定 Linux 工具导致资源消耗过高(如 Vmmem 进程所示) , 您可以按照以下步骤回收内存并解决问题:
1. 手动重启WSL
解决 WSL 或 Linux 工具资源消耗过高的最简单方法之一就是简单地重新启动它们 。因此 , 您应该手动关闭当前打开的每个 Linux 工具 , 包括 WSL 本身 。
稍等一下 , 看看 Vmmem 进程是否停止向您显示大量资源消耗 。如果是这样 , 请再次重新启动 WSL 发行版并查看 Vmmem 进程的行为是否相同 。如果是这样 , 请跳过第二个修复并应用第三个 。
但是 , 如果您手动关闭 WSL 并且它不会停止任务管理器中的 Vmmem 进程 , 则必须强制将其关闭 。在下一个修复中 , 我们将解释其工作原理 。
2.强行关闭WSL并重新启动
【Win中的Vmmem进程是什么?解决占用内存高的方法】要强制关闭 WSL , 请按照下列步骤操作:
  1. 以管理员身份运行命令提示符 。
  2. 输入“wsl –shutdown ”。
  3. 按Enter键 。
    Win中的Vmmem进程是什么?解决占用内存高的方法

    文章插图
之后重新启动 WSL 发行版 。如果重新启动 WSL 无法解决问题 , 请继续执行下一个修复 。
3. 手动限制 WSL 资源
WSL 还可以限制其使用的资源 , 这样就不会因过多的资源需求而使您的系统负担过重 。您只能使用 WSL 2 执行此操作 , 它仅适用于高于 19041 的 Windows 版本 。如果您还没有阅读我们关于如何在 Windows 上安装 WSL 2 的文章 , 请查看 。
如果您的 Windows 版本支持 WSL 2 并且您已经安装了它 , 则可以按照以下步骤限制其资源:
  1. 以管理员身份运行 Windows 命令提示符 。
  2. 输入“wsl –shutdown”并按Enter 。
  3. 关闭 Windows 命令提示符 。
  4. 打开 WSL 。
  5. 替换用户名后 , 输入以下命令:
    编辑器“$(wslpath“C:\Users\YourUsername\.wslconfig”)”
  6. 按Enter键 。
  7. 输入以下配置:[wsl2]内存=5GB(根据您的RAM大小进行限制)
  8. 按CTRL + X 。
  9. 当提示保存更改时按“Y”。
  10. 再次按Enter确认位置 。
  11. 重复步骤一到三 。
  12. 重新启动 WSL 后运行以下命令以确认资源已成功分配 。
    自由-h–giga
通过上述步骤 , 您可以限制 WSL 的资源使用 , 使其不会使您的计算机负担过重 。
是否可以结束Vmmem进程?
任务管理器不允许您像常规任务一样关闭Vmmem进程 。如果您尝试这样做 , 您将遇到错误 。要结束 Vmmem 进程 , 您需要关闭虚拟机和 WSL 或其任何 Linux 工具 。
不要让虚拟机消耗您的资源
本文中提到的提示应该可以帮助您限制虚拟机资源消耗 。执行此操作后 , Vmmem 进程将不会在任务管理器中显示为高资源消耗者 。
选择一个优秀的虚拟机管理器对于高效运行虚拟机至关重要 。可靠的虚拟机管理器将为您提供最佳性能 , 而普通虚拟机管理器则无法做到这一点 。