我有一个进程在Linux上的Docker容器中运行,有2GB的内存限制。 (容器启动docker run --memory=2g 。)
这是top在运行了一段时间之后所说的。
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 9016 root 20 0 7342132 4.652g 4.224g S 100.0 7.4 18828:28 blah
以下是docker stats的输出:
CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O d7032e5928b6 100.02% 2.076 GB/2.147 GB 96.68% 345 MB/199.1 MB
然后,重新启动后, top :
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 5653 root 20 0 2787800 1.328g 1.030g S 100.0 2.1 0:37.57 blah
docker stats :
CONTAINER CPU % MEM USAGE/LIMIT MEM % NET I/O 10cefdce241f 99.97% 320.4 MB/2.147 GB 14.92% 36.34 kB/22.48 kB
因此,与RES – SHR匹配(非常粗略),这对我来说有一定意义,但长期运行的容器的输出的等效计算却不能以相同的方式匹配。
Docker在这里算什么? 我可以将它与top的输出或其他工具进行匹配吗?
docker统计也包括文件caching。 它会根据请求被释放,但它被视为使用。