wsl2 内存问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Cyshall
V2EX    Windows

wsl2 内存问题

  •  
  •   Cyshall 2022-12-30 10:39:25 +08:00 5594 次点击
    这是一个创建于 1065 天前的主题,其中的信息可能已经有所发展或是发生改变。

    wsl2 的内存不会自动回收吗? 平常就晚上回家用用,不关机只睡眠,四五天的样子吃了我二十多的 G 的内存。

    /div>
    30 条回复    2023-01-04 14:59:11 +08:00
    qwertty01
        1
    qwertty01  
       2022-12-30 10:48:55 +08:00
    同样问题,32G 内存打开 wsl2 直接解决全被占用了。
    okrfuse
        2
    okrfuse  
       2022-12-30 10:53:30 +08:00
    一样,还有一个问题就是时间不同步,一晚上打开 git 日志直接显示明天
    a22271001
        3
    a22271001  
       2022-12-30 10:54:52 +08:00
    .wslconfig 配置文件可以限制内存
    alexsunxl
        4
    alexsunxl  
       2022-12-30 10:55:24 +08:00
    这 b 微软的 win11+wsl2 确实很吃内存。 搞得我插满 4 根 16g 的才感觉勉强够用。
    AoEiuV020CN
        5
    AoEiuV020CN  
       2022-12-30 10:55:47 +08:00
    确实这样,我感觉各种动态内存对 linux 都靠不住,不用的内存会无限缓存,不释放,
    我 wsl2 直接在.wslconfig 限死 8G ,
    datou
        6
    datou  
       2022-12-30 10:59:24 +08:00
    物理机 48G 内存,WSL 里面 htop 只显示 23.4G

    还不知道咋改
    lwch
        7
    lwch  
       2022-12-30 11:01:04 +08:00
    限了好像也没啥用,虚拟内存一直跑满,我用了 mem reduct 超额后自动释放
    yech1990
        8
    yech1990  
       2022-12-30 11:05:16 +08:00 via Android
    50% of total memory on Windows or 8GB, whichever is less; 新版默认就有限制了。
    hwdef
        9
    hwdef  
       2022-12-30 11:09:29 +08:00
    wsl+wsa+docker ,128g 内存都不够用。。
    Cyshall
        10
    Cyshall  
    OP
       2022-12-30 11:10:29 +08:00
    @yech1990 #8 哪里看到的阿?
    Cyshall
        11
    Cyshall  
    OP
       2022-12-30 11:15:45 +08:00
    @hwdef #9 wsa 有个缺点就是冷启动太慢了,尤其是跟 wsl2 比
    mq4079
        12
    mq4079  
       2022-12-30 11:25:45 +08:00
    wsl 有内存泄露问题,好久没用了不知道巨硬修了没
    cubecube
        13
    cubecube  
       2022-12-30 11:49:36 +08:00   2
    这个问题好像有微软 blog 解释过。Linux 只要你使用过大内存(比如编译了项目) linux 倾向于不释放缓存,这导致 vm 无法精确的判断 linux 到底使用了多大的内存。所以很难主动释放。然后 labalaba 了一堆他们做了啥去尽量释放把内存还给 host ,但是效果也就那样

    解决办法前面已经说了,配置文件手动限制下吧,否则 wsl 会占用最多一半的系统内存。
    Cyshall
        14
    Cyshall  
    OP
       2022-12-30 11:50:58 +08:00
    @cubecube #13 有原文链接不? 想看看
    TrembleBeforeMe
        15
    TrembleBeforeMe  
       2022-12-30 11:52:48 +08:00   2
    wsl2 是这样设计的,所以我用 wsl1
    charlie21
        16
    charlie21  
       2022-12-30 11:53:56 +08:00 via iPhone
    这个 wsl 问题甚至不是 wsl 的问题
    wenzhoou
        17
    wenzhoou  
       2022-12-30 12:10:27 +08:00
    还好把。32G 只占用到 20G 。docker 里面看到占用了 16G 。
    zed1018
        18
    zed1018  
       2022-12-30 13:44:37 +08:00
    有个比较手动的方案是用 rammap empty 一下
    zed1018
        19
    zed1018  
       2022-12-30 13:46:40 +08:00
    0attocs
        20
    0attocs  
       2022-12-30 13:56:33 +08:00
    另一个粗暴点的 workaround 是`wsl --shutdown`主动重启,可以搭配使用。
    zwy100e72
        21
    zwy100e72  
       2022-12-30 14:13:16 +08:00
    sudo -- sh -c "echo 1 > /proc/sys/vm/drop_caches && echo 1 > /proc/sys/vm/compact_memory"

    Memory Reclaim in the Windows Subsystem for Linux 2
    https://devblogs.microsoft.com/commandline/memory-reclaim-in-the-windows-subsystem-for-linux-2/
    lookStupiToForce
        22
    lookStupiToForce  
       2022-12-30 15:36:27 +08:00
    以前折腾过很久
    所以后来还是用回了 v 家的 workstation player
    2Broear
        23
    2Broear  
       2022-12-30 15:45:05 +08:00
    [wsl2]
    memory=4GB
    swap=8GB
    litguy
        24
    litguy  
       2022-12-30 16:13:56 +08:00
    个人更喜欢 WSL1
    lelandsu
        25
    lelandsu  
       2022-12-30 16:51:47 +08:00 via iPhone
    能升级物理内存解决的问题就不是问题。
    我笔记本把内存升级到 40G ,再没打开任务管理器看过内存。
    你这么想,解决了 wsl 的你也很难解决像 Android studio 这种软件的内存占用,还有一堆喜报 chrome 套壳的程序
    also24
        26
    also24  
       2022-12-30 17:03:37 +08:00
    @lelandsu #25
    我曾经也是这样想的,直到 hyper-v 莫名其妙吃了我 50G 内存 : )
    kokutou
        27
    kokutou  
       2022-12-30 17:05:23 +08:00
    不喜欢开 vm ,开了 host 都卡卡的。。。
    我选择 wsl1
    9ine
        28
    9ine  
       2022-12-31 12:22:06 +08:00
    用过好几年的 WSL ,现在已经换成 Windows+Linux 双系统了。
    luffy
        29
    luffy  
       2023-01-03 10:57:13 +08:00
    我用的 surface + wsl2 + visual studio + jetbrain idea + slack + teams + vscode + wechat + n 个 powershell

    只有 16G 的情况下,还算运行正常。

    我怀疑楼主的问题,可能是操作系统的问题?内存这块是操作系统在管理的?
    hwdef
        30
    hwdef  
       2023-01-04 14:59:11 +08:00
    @cubecube
    我感觉跟发行版也有关,我 pve 里有 debian 和 archlinux 的虚拟机,运行一样的东西,archlinux 的内存占用比 debian 大很多。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2585 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 38ms UTC 05:37 PVG 13:37 LAX 21:37 JFK 00:37
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86