如何调查哪个 Docker 容器导致我的系统交换?

如何调查哪个 Docker 容器导致我的系统交换?

在 Debian 9 Stretch 中使用 docker 19.03.1

我正在使用 6 个容器,并且观察到 125Mo 的交换,而内存使用量从未超过总量的 10%。(通常在 500Mo / 16Go 左右)。

for file in /proc/*/status ; do awk '/VmSwap|Name/{printf $2 " " $3}END{ print ""}' $file; done | sort -k 2 -n -r | less

给我以下结果

dockerd 25160 kB
named 14304 kB
docker-proxy 8144 kB
containerd 7808 kB
docker-proxy 6176 kB
docker-proxy 6100 kB
docker-proxy 4068 kB
docker-proxy 4064 kB
docker-proxy 4064 kB
docker-proxy 4064 kB
docker-proxy 4060 kB
docker-proxy 4060 kB
docker-proxy 3992 kB
docker-proxy 3980 kB
docker-proxy 3940 kB
docker-proxy 3940 kB
docker-proxy 3880 kB
docker-proxy 3824 kB
fail2ban-server 3400 kB
docker-proxy 3088 kB
docker-proxy 2060 kB

看来 docker 交换了很多次。如何找到哪个容器正在交换我的主机系统以及如何防止这种情况发生?

谢谢。

相关内容