使用 LXCFS 与 Podman 一起使用

主要观点:JP 对使用 podman run --memory=2G… 但容器内未显示 2G 限制感到困惑,经确认是可视化问题,应查看 /sys/fs/cgroup/memory.max 等,后想起 LXCFS 可为容器提供虚拟(cgroup 感知的)/proc,并通过实验验证在 Debian 12 VM 上安装 podmanlxcfs 后,使用 --mount 绑定挂载 lxcfs 生成的虚拟 /proc/meminfo 到容器内,grep MemTotalcat /sys/fs/cgroup/memory.max 显示正确结果,free(1) 也能正常工作,但不要盲目将整个 /var/lib/lxcfs/proc 挂载到容器的 /proc 上。
关键信息podmanlxcfs、Debian 12 VM、容器内存限制可视化问题、--memory=2G 参数、/proc/meminfo/sys/fs/cgroup/memory.max、各种 proc 条目
重要细节:在未安装 lxcfs 时,grep MemTotal /proc/meminfo 显示 6067396 kB,安装并启动 lxcfs 后显示 2097152 kB,cat /sys/fs/cgroup/memory.max 始终为 2147483648,free -m 结果也正常,且说明了不要盲目挂载整个 /var/lib/lxcfs/proc 到容器的 /proc 上,否则可能导致问题。

阅读 12
0 条评论