我有一个 Rocket Web 应用程序打包到一个 Docker 映像中。该应用程序在我们的 Kubernetes 环境(一些 Linux Docker 主机)中部署和运行时,启动时使用的内存比它作为 Mac 笔记本电脑 Docker 主机上的容器运行时的内存使用量多 4 或 5 倍。
什么可能导致这种内存差异?
本地(作为在我的 Mac 笔记本电脑 docker 中运行的容器):
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 187944 18916 12308 S 0.0 0.9 0:00.12 backend
25 root 20 0 41024 3116 2668 R 0.0 0.2 0:00.03 top
在 Linux docker 主机上(或在 kubernetes 上):
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1 root 20 0 239244 108408 10840 S 0.0 0.3 0:00.67 backend
38 root 20 0 18144 3260 2820 S 0.0 0.0 0:00.00 bash
44 root 20 0 41032 3124 2660 R 0.0 0.0 0:00.00 top
可以看到RES
进程的价值backend
比运行在 Kubernetes 上高很多
我已经仔细检查了图像版本是否完全相同。