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容器正在使用的总内存以及允许使用的总内存量