Linux

LXC 容器顯示主機的完整 RAM 數量和 CPU 數量

  • April 15, 2015

我已經使用 LXC 容器幾年了,最近擴展了在容器環境中執行的應用程序類型。

我現在開始使用以下配置參數限制容器級別的資源:

lxc.cgroup.cpuset.cpus                 = 16-23
lxc.cgroup.memory.limit_in_bytes       = 30720M
lxc.cgroup.memory.memsw.limit_in_bytes = 32768M

我正在與使用“調整”工具 ( pgtune ) 為將在 LXC 環境中執行的 Postgres 數據庫生成配置的開發人員合作。該工具較舊,並且不太支持 VM 或容器。它根據對系統可見的 RAM 提出大小建議。

那時我意識到,在某些情況下,容器實例可以看到所有主機系統的 RAM (96GB) 可能是有害的。

是否有任何解決方法,或者它只是在使用 LXC 時給定的?

目前,proc文件系統在掛載命名空間中不是“容器感知”的,因此基於其邏輯的工具將獲取與主機相關的值,而不是與容器相關的值。

但是一項工作正在進行中,它被稱為**lxc-fs**並且很少有可用的版本在這裡。這是一種使用者空間的解決方法,可以通過綁定掛載/proc來使容器內的內容保持一致。

似乎沒有辦法解決它。LXC 使用 cgroups 來限制 RAM,非虛擬化感知工具讀取LXC/proc/meminfo包含的統計資訊,並將輸出系統中的整體 RAM。在容器內執行時,您可以看到此行為,也可以看到此行為freetop

來源: http: //fabiokung.com/2014/03/13/memory-inside-linux-containers/

引用自:https://serverfault.com/questions/680963