即使运行容器,docker统计信息也显示零内存使用情况

我有Docker Swarm运行的两个容器:

# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 18f1e7d79f5b default/image1:latest "/bin/sh -c 'java ..." 12 hours ago Up 12 hours image1.1.x56zz152kmqtqpxzle5nkbs8r 11d1f05fcff1 default/image2:latest "java -cp /app/sca..." 13 hours ago Up 13 hours image2.1.ljztzeeh8i5r6ebr3n4hcj45e $ docker stats --no-stream CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS 18f1e7d79f5b 0.92% 0B / 0B 0.00% 648B / 0B 0B / 0B 0 11d1f05fcff1 0.91% 0B / 0B 0.00% 39.9MB / 26.9MB 51.2MB / 0B 0 

主机操作系统是Debian Jessie。 在两个容器中都有JVM应用程序。 为什么docker stats显示零内存使用? 我应该configuration我的Java应用程序,以便能够查看docker stats内存使用情况吗? 有没有其他方法来检查内存使用情况?

内存cgroup记帐很可能在你的内核中没有启用(这是其他人在Debian / Ubuntu上安装时遇到的常见问题 )。

你可以使用docker info或者守护进程的输出来validation你没有看到类似下面的消息,在这个博客文章中很好地总结了一下: http : //awhitehatter.me/debian-jessie-wdocker/ ? 如果是这样的话,这个修补程序也在那里列出,以及在第一句连接的GitHub问题中。 在安装文档中也有关于启用cgroup内存记帐的部分,虽然它只提到Ubuntu而不是Debian。