LXC 容器显示主机的完整 RAM 量和 CPU 数量

eww*_*ite 4 linux memory containers lxc centos6

我已经使用 LXC 容器几年了,最近扩展了在容器环境中运行的应用程序类型。

我现在开始使用以下配置参数限制容器级别的资源:

lxc.cgroup.cpuset.cpus                 = 16-23
lxc.cgroup.memory.limit_in_bytes       = 30720M
lxc.cgroup.memory.memsw.limit_in_bytes = 32768M
Run Code Online (Sandbox Code Playgroud)

我正在与一位使用“调整”工具 ( pgtune )的开发人员合作,为将在 LXC 环境中运行的 Postgres 数据库生成配置。此工具较旧,并且不太了解 VM 或容器。它根据系统可见的 RAM 提供大小建议。

那时我意识到在某些情况下,容器实例可以看到所有主机系统的 RAM (96GB) 可能是有害的。

是否有任何解决方法,或者它只是在使用 LXC 时给定的?

Xav*_*cas 8

目前,proc文件系统在挂载命名空间中不是“容器感知”的,因此基于此逻辑的工具将获得与主机相关的值,而不是与容器相关的值。

但是一项工作正在进行中,它被称为lxc-fs并且这里很少有可用的版本。这是一个用户空间的解决方法,它将使绑定挂载成为可能,/proc以使容器内的内容保持一致。