我一直在VSCode上使用WSL。我最近注意到,在关闭了VSCode或单个WSL终端之后,一个名为vmmem
的进程一直在使用大量内存。
我已经找到了如何在CMD或PowerShell中使用以下命令手动关闭它:
wsl --shutdown
但是,当我关闭WSL终端或VSCode时,我一直试图找到一种使其关闭的方法。
这个问题在过去没有发生过,这意味着它很可能是由Windows更新引起的。
我已经尝试过更新我的WSL和我的Windows版本,但是我的所有研究到目前为止都没有结果。
下面是我对WSL的当前版本:
Version WSL : 0.70.4.0
Version du noyau : 5.15.68.1
Version WSLg : 1.0.45
Version MSRDC : 1.2.3575
Version direct3D : 1.606.4
Version de DXCore : 10.0.25131.1002-220531-1700.rs-onecore-base2-hyp
version Windows : 10.0.22000.1098
发布于 2022-11-14 14:41:20
是的,Vmmem
是作为WSL2虚拟机的一部分运行的进程。是的,wsl --shutdown
将终止VM本身(以及在其中运行的任何发行版)。
通常,WSL2分两个阶段终止:
Vmmem
应该结束并释放其内存。首先要检查的是,当Vmmem
不终止时,发行版是否仍在运行。来自PowerShell或CMD:
wsl -l -v
# wsl --list --verbose
如果任何WSL2发行版仍然处于Running
状态(我猜其中一个是,对于您来说),那么WSL2 VM (因此也就是Vmmem进程)也将继续运行。
假设您只运行一个发行版:
wsl -e ps axjff
如果您没有运行Systemd,那么应该运行的惟一内容是:
init
processesps
命令itselfplan9
,在WSL2中是一个相当新的进程(从0.70.0开始),但这不会阻止来自terminating.的分发
如果您正在运行Systemd,那么将会有很多额外的服务。但是,Systemd本身( /sbin/init
)启动的任何内容都不应阻止WSL2发行版终止。
我刚才在我的(非Systemd)版本中注意到了一个假的xsel
,但我认为这仅仅是因为安装了Fish。但是,它阻止了Ubuntu的终止,从而阻止了WSL2 VM的关闭。
VSCode "WSL服务器“有什么留给您的吗?或者从你的开发中产生一个背景过程的东西?
https://stackoverflow.com/questions/74426026
复制相似问题