我只是想了解为什么我的 lxd 主机显示内存使用率高(超过 80%),而所有客户容器内存的总和却远低于这个数字?
host:~$ free -h
total used free shared buff/cache available
Mem: 31Gi 25Gi 2.1Gi 374Mi 3.3Gi 4.7Gi
Swap: 15Gi 96Mi 14Gi
container1# free -h
total used free shared buff/cache available
Mem: 3.8G 209M 3.4G 114M 171M 3.6G
Swap: 0B 0B 0B
container2# free -h
total used free shared buff/cache available
Mem: 31Gi 353Mi 30Gi 0B 364Mi 30Gi
Swap: 0B 0B 0B
container3# free -h
total used free shared buff/cache available
Mem: 31Gi 283Mi 30Gi 185Mi 376Mi 30Gi
Swap: 0B 0B 0B
container4# free -h
total used free shared buff/cache available
Mem: 5.7Gi 1.7Gi 3.9Gi 0.0Ki 141Mi 4.0Gi
Swap: 0B 0B 0B
container5# free -h
total used free shared buff/cache available
Mem: 31Gi 4.3Gi 26Gi 57Mi 900Mi 26Gi
Swap: 0B 0B 0B
container6# free -h
total used free shared buff/cache available
Mem: 5.7G 300M 5.3G 13M 100M 5.4G
Swap: 0B 0B 0B
除了 lxd、ssh、nginx(作为代理)、fail2ban 之外,主机上没有运行其他服务。
任何想法?
答案1
该free
命令不适合检查内存消耗。还有一个细节,根据lxcfs
LXD 软件包的版本,内存的某些方面可能会或可能不会从容器中抽象出来。请参阅可用版本lxcfs
及其功能。
我建议使用systemd-cgtop
其他*top
支持cgroups。