Cyshall
V2EX  ›  Windows

wsl2 内存问题

  •  
  •   Cyshall · Dec 30, 2022 · 6893 views
    This topic created in 1405 days ago, the information mentioned may be changed or developed.

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

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

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

    解决办法前面已经说了,配置文件手动限制下吧,否则 wsl 会占用最多一半的系统内存。
    Cyshall
    Cyshall
    OP
    Dec 30, 2022
    14
    @cubecube #13 有原文链接不? 想看看
    TrembleBeforeMe
    TrembleBeforeMe
    Dec 30, 2022❤️2
    15
    wsl2 是这样设计的,所以我用 wsl1
    charlie21
    charlie21
    Dec 30, 2022 via iPhone
    16
    这个 wsl 问题甚至不是 wsl 的问题
    wenzhoou
    wenzhoou
    Dec 30, 2022
    17
    还好把。32G 只占用到 20G 。docker 里面看到占用了 16G 。
    zed1018
    zed1018
    Dec 30, 2022
    18
    有个比较手动的方案是用 rammap empty 一下
    zed1018
    zed1018
    Dec 30, 2022
    19
    0attocs
    0attocs
    Dec 30, 2022
    20
    另一个粗暴点的 workaround 是`wsl --shutdown`主动重启,可以搭配使用。
    zwy100e72
    zwy100e72
    Dec 30, 2022
    21
    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
    lookStupiToForce
    Dec 30, 2022
    22
    以前折腾过很久
    所以后来还是用回了 v 家的 workstation player
    2Broear
    2Broear
    Dec 30, 2022
    23
    [wsl2]
    memory=4GB
    swap=8GB
    litguy
    litguy
    Dec 30, 2022
    24
    个人更喜欢 WSL1
    lelandsu
    lelandsu
    Dec 30, 2022 via iPhone
    25
    能升级物理内存解决的问题就不是问题。
    我笔记本把内存升级到 40G ,再没打开任务管理器看过内存。
    你这么想,解决了 wsl 的你也很难解决像 Android studio 这种软件的内存占用,还有一堆喜报 chrome 套壳的程序
    also24
    also24
    Dec 30, 2022
    26
    @lelandsu #25
    我曾经也是这样想的,直到 hyper-v 莫名其妙吃了我 50G 内存 : )
    kokutou
    kokutou
    Dec 30, 2022
    27
    不喜欢开 vm ,开了 host 都卡卡的。。。
    我选择 wsl1
    9ine
    9ine
    Dec 31, 2022
    28
    用过好几年的 WSL ,现在已经换成 Windows+Linux 双系统了。
    luffy
    luffy
    Jan 3, 2023
    29
    我用的 surface + wsl2 + visual studio + jetbrain idea + slack + teams + vscode + wechat + n 个 powershell

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

    我怀疑楼主的问题,可能是操作系统的问题?内存这块是操作系统在管理的?
    hwdef
    hwdef
    Jan 4, 2023
    30
    @cubecube
    我感觉跟发行版也有关,我 pve 里有 debian 和 archlinux 的虚拟机,运行一样的东西,archlinux 的内存占用比 debian 大很多。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   5511 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 92ms · UTC 03:03 · PVG 11:03 · LAX 19:03 · JFK 22:03
    ♥ Do have faith in what you're doing.