V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
ltltfuture
V2EX  ›  程序员

docker 还是很能吃内存的

  •  
  •   ltltfuture · 2023-06-25 21:13:21 +08:00 · 3235 次点击
    这是一个创建于 516 天前的主题,其中的信息可能已经有所发展或是发生改变。
    开了一个 flink 流处理实验环境,32g 就没了
    还没开 spark 批处理部分
    幸好本子 64g ram
    希望早点出双通道 128g 条子
    16 条回复    2023-06-26 22:39:35 +08:00
    rbaloatiw
        1
    rbaloatiw  
       2023-06-25 21:21:33 +08:00   ❤️ 1
    这是你的 workload 吃内存啊, 和 docker 有啥关系..
    sadfQED2
        2
    sadfQED2  
       2023-06-25 21:22:23 +08:00 via Android
    这不是 docker 吃内存,docker 消耗那点内存几乎可以忽略。你这个是因为 flink 吃内存
    JackCh3ng
        3
    JackCh3ng  
       2023-06-25 21:25:07 +08:00
    想秀你的 64g 内存就直接秀,没必要踩一脚 docker ,真要得出 docker 吃内存的结论,不用 docker 直接把程序跑在机器上对比一下才有说服力。
    ltltfuture
        4
    ltltfuture  
    OP
       2023-06-25 21:25:38 +08:00
    @rbaloatiw
    @sadfQED2
    嗯,没描述清楚,我是指配的这套环境
    ltltfuture
        5
    ltltfuture  
    OP
       2023-06-25 21:27:22 +08:00
    @JackCh3ng 这有啥好秀和踩,只是描述我这个配置环境需要很多内存而已
    glogo
        6
    glogo  
       2023-06-25 21:47:08 +08:00
    如果你是跑在 WSL2 backend 的 Docker Desktop 上,可以通过 .wslconfig 限制 WSL2 的内存使用,说不定 其实本不用真多内存,WSL2 很能吃内存的,都会开的很大
    ltltfuture
        7
    ltltfuture  
    OP
       2023-06-25 21:51:22 +08:00
    @glogo 确实在 WSL2 上,学习了,我去研究一下
    zed1018
        8
    zed1018  
       2023-06-25 22:20:39 +08:00
    @glogo 张嘴就来,vmmemwsl 吃多少完全是里面 linux 要了多少,而且新版本默认也就 50% Hostmem ,wsl 自己根本要不多少内存。他的 workload 要多少内存实际看一下不就完了,没有必要黑一脚 wsl


    ltltfuture
        9
    ltltfuture  
    OP
       2023-06-25 22:49:18 +08:00
    @glogo
    @zed1018
    供两位讨论

    t133
        10
    t133  
       2023-06-26 08:22:00 +08:00 via iPhone   ❤️ 1
    Wsl2 的内存释放的确有问题 如果你的 docker 峰值占用高基本 32g 才够用
    zed1018
        11
    zed1018  
       2023-06-26 08:48:02 +08:00
    @ltltfuture 你自己看你 buff/cache17Gi ,有什么问题吗?
    zed1018
        12
    zed1018  
       2023-06-26 08:49:11 +08:00
    @ltltfuture 难道 buff/cached 是 wsl2 申请的么
    ucando
        13
    ucando  
       2023-06-26 09:40:40 +08:00   ❤️ 1
    wsl 要手动限制一下最高内存, 可以在用户目录下建一个.wslconfig 的文件, 具体如何配置可以百度一下. docker run 的时候也加上内存限制的参数. 如果都不限制, 内存占用量绝对超乎你的想象
    zzzmh
        14
    zzzmh  
       2023-06-26 10:56:52 +08:00   ❤️ 1
    可以刷个 linux ,在 linux 下跑 docker ,美滋滋了就
    yinmin
        15
    yinmin  
       2023-06-26 12:44:43 +08:00   ❤️ 1
    buff/cache 跑了 17GB ,这是 linux 的 cache 。windows 的 WLS2 和 Hyper-V 跑 linux ,动态内存管理基本不好使,linux 的 cache 会跑满所有内存。windows 下最佳 docker 生产环境,推荐 hyper-v + debian + docker + portainer 。你这个情况,可以配置 debian 虚拟机 8GB 内存。
    glogo
        16
    glogo  
       2023-06-26 22:39:35 +08:00
    笑死,我天天用 WSL2, 还说我张嘴就来黑 WSL. 敢情你爱的那么深啊
    @zed1018
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   923 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:27 · PVG 04:27 · LAX 12:27 · JFK 15:27
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.