1
rbaloatiw 2023-06-25 21:21:33 +08:00 1
这是你的 workload 吃内存啊, 和 docker 有啥关系..
|
2
sadfQED2 2023-06-25 21:22:23 +08:00 via Android
这不是 docker 吃内存,docker 消耗那点内存几乎可以忽略。你这个是因为 flink 吃内存
|
3
JackCh3ng 2023-06-25 21:25:07 +08:00
想秀你的 64g 内存就直接秀,没必要踩一脚 docker ,真要得出 docker 吃内存的结论,不用 docker 直接把程序跑在机器上对比一下才有说服力。
|
4
ltltfuture OP |
5
ltltfuture OP @JackCh3ng 这有啥好秀和踩,只是描述我这个配置环境需要很多内存而已
|
6
glogo 2023-06-25 21:47:08 +08:00
如果你是跑在 WSL2 backend 的 Docker Desktop 上,可以通过 .wslconfig 限制 WSL2 的内存使用,说不定 其实本不用真多内存,WSL2 很能吃内存的,都会开的很大
|
7
ltltfuture OP @glogo 确实在 WSL2 上,学习了,我去研究一下
|
8
zed1018 2023-06-25 22:20:39 +08:00
@glogo 张嘴就来,vmmemwsl 吃多少完全是里面 linux 要了多少,而且新版本默认也就 50% Hostmem ,wsl 自己根本要不多少内存。他的 workload 要多少内存实际看一下不就完了,没有必要黑一脚 wsl
|
9
ltltfuture OP |
10
t133 2023-06-26 08:22:00 +08:00 via iPhone 1
Wsl2 的内存释放的确有问题 如果你的 docker 峰值占用高基本 32g 才够用
|
11
zed1018 2023-06-26 08:48:02 +08:00
@ltltfuture 你自己看你 buff/cache17Gi ,有什么问题吗?
|
12
zed1018 2023-06-26 08:49:11 +08:00
@ltltfuture 难道 buff/cached 是 wsl2 申请的么
|
13
ucando 2023-06-26 09:40:40 +08:00 1
wsl 要手动限制一下最高内存, 可以在用户目录下建一个.wslconfig 的文件, 具体如何配置可以百度一下. docker run 的时候也加上内存限制的参数. 如果都不限制, 内存占用量绝对超乎你的想象
|
14
zzzmh 2023-06-26 10:56:52 +08:00 1
可以刷个 linux ,在 linux 下跑 docker ,美滋滋了就
|
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 内存。
|