wsl2 的内存占用真是有够离谱的

2021-02-05 14:54:48 +08:00
 danytdlemon1900
真正的内存怪兽,加多少内存吃多少内存
加了重启、清存储逻辑,还是卡,之前 16G 的时候吃掉 8 个 G,现在加到 32G 一口吃掉 15G,
加了最大限制就开始卡,一副喂不饱的样子,我现在就像个过了 35 走下坡路的中年男人,每天一开电脑看见进程里面 Vmmem 喊饿我就头疼,加上 Chrome 这两兄弟赖在我电脑里混吃混合,开发体验逐日下降。
有无好兄弟有好解法 QAQ
18280 次点击
所在节点    Windows
83 条回复
danytdlemon1900
2021-02-05 16:54:44 +08:00
@royzheng 加了也是一样的,这要能那么见效快也不至于月经贴吐槽了
BeautifulSoap
2021-02-05 16:58:07 +08:00
@podel 所以直接限制 wsl2 的内存上限不就行了,wsl2 之所以内存一直膨胀是因为基于 hyper-v,而 hyper-v 有个功能是“动态内存”,即虚拟机要多少内存给多少内存,没有上限。一般开 hyper-v 下的 linux 虚拟机是要直接关了这个功能的,要不然 linux 吞了内存 hyper-v 也不会释放

wsl2 可以编辑下.wslconfig 文件关了这功能给整个 wsl2 添加一个内存占用上限
neoblackcap
2021-02-05 17:40:53 +08:00
@systemcall wsl2 跟 windows 是同一个级别的,因为 wsl 是用 hyper-v 的技术。最底下才是 hypersivor,他们两个都是在 hypersivor 上面的。
lerry
2021-02-05 17:45:54 +08:00
我从 wsl2 换到 hyper-v 虚拟机了,主要是网络问题,还有 systemd,hyper-v 发现了个坑,虚拟机开了动态内存,就跑了几个 node 程序,有时候突然系统就卡了,风扇声音变大,发现 64g 内存都给我吃完了,关了动态内存,目前还好
snowlyg
2021-02-05 17:47:58 +08:00
rioshikelong121
2021-02-05 17:53:55 +08:00
确实离谱, 我的最高占用 9 G 。。 随便跑跑 前端应用也有 4,5G 。
herozzm
2021-02-05 17:54:26 +08:00
wsl 也要安装一个子 linux,为什么不用 hy 呢
felixcode
2021-02-05 17:56:26 +08:00
用的 Linux 桌面,从来不用操心这些东西
azkaban
2021-02-05 20:14:50 +08:00
哥你跑啥了,我也 wsl2,32 内存,一直就占 3g 以下
Bunnyranch
2021-02-05 21:34:37 +08:00
好巧 我也是整上 WSL2 用了一会滚回 1 了
tolerance
2021-02-05 21:44:40 +08:00
配置.wslconfig 限制 wsl2 内存
Weixiao0725
2021-02-06 00:52:08 +08:00
还有在 wsl2 上运行 npm start 巨慢,win10 下瞬间就起来了。
interim
2021-02-06 02:31:42 +08:00
@Weixiao0725 windows 和 WSL2 通过网络访问的,把工程放在 WSL2 下就一样速度了,npm 的包太吃 IO 了。
jeeyong
2021-02-06 02:36:08 +08:00
加到 64
aliao0019
2021-02-06 02:59:54 +08:00
解法就是用 .wslconfig 限制一下上限。
aliao0019
2021-02-06 03:00:59 +08:00
去 github 可以看 issue microsoft/WSL/issues/4166
ebushicao
2021-02-06 09:11:51 +08:00
我也是这样的,然后我换了 hyper-v 虚拟机。
p1gd0g
2021-02-06 09:24:15 +08:00
[wsl2]
memory=8GB # Limits VM memory in WSL 2 to 8 GB

之前开 top 看了下,我这边主要是 gopls 占了不少内存。
SJ2050cn
2021-02-06 09:41:26 +08:00
我 32g 内存,wsl2 内存限制到 25g,平时占用也就 2g 的样子,没楼主那么夸张
digitalwater
2021-02-06 09:46:04 +08:00
```
sudo su
echo 3 > /proc/sys/vm/drop_caches
echo 2 > /proc/sys/vm/drop_caches
echo 1 > /proc/sys/vm/drop_caches
sync
```

https://github.com/microsoft/WSL/issues/6451

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/751582

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX