docker stats中显示的内存到底是什么意思?

时间:2019-10-09 09:30:49

标签: docker ps

1)我使用下一步启动容器:

docker run --name test -idt python:3 python -m http.server

2)然后,我尝试验证内存使用情况,如下所示:

a)
root@shubuntu1:~# ps aux | grep "python -m http.server"
root     17416  3.0  0.2  27368 19876 pts/0    Ss+  17:11   0:00 python -m http.server

b)
root@shubuntu1:~# docker exec -it test ps aux
USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.9  0.2  27368 19876 pts/0    Ss+  09:11   0:00 python -m http.

c)
root@shubuntu1:~# docker stats --no-stream test
CONTAINER ID   NAME  CPU %    MEM USAGE / LIMIT     MEM %    NET I/O      BLOCK I/O   PIDS
d72f2ece6816   test  0.01%    12.45MiB / 7.591GiB   0.16%    3.04kB / 0B  0B / 0B     1

您可以从docker主机和docker容器中看到,我们可以看到python -m http.server消耗了19876/1024=19.1289MB内存(RSS),但是从docker stats中我发现12.45MB,为什么它表明容器内存消耗比容器中的PID1进程还要少吗?

  

rss RSS常驻集大小,即任务已使用的未交换物理内存(以千字节为单位)。 (别名rssize,rsz)。

     

MEM USAGE / LIMIT容器正在使用的总内存以及允许使用的总内存量

0 个答案:

没有答案