使用docker stats命令可以查看容器的內存,但是有時候docker stats命令獲得的數據可能准確,可以參考下面這種方式
先通過docker ps -a 找到容器的container id
再使用ps -ef 找到容器對應的進程
獲得容器對應的pid后,就可以使用top、pmap、ps等查看進程內存的命令查看容器的內存占用情況了
top
top -p 5140
內容解釋
PID:進程的ID
USER:進程所有者
PR:進程的優先級別,越小越優先被執行
NInice:值
VIRT:進程占用的虛擬內存
RES:進程占用的物理內存
SHR:進程使用的共享內存
S:進程的狀態。S表示休眠,R表示正在運行,Z表示僵死狀態,N表示該進程優先值為負數
%CPU:進程占用CPU的使用率
%MEM:進程使用的物理內存和總內存的百分比
TIME+:該進程啟動后占用的總的CPU時間,即占用CPU使用時間的累加值。
COMMAND:進程啟動命令名稱
pmap
pmap -d 5140
ps
ps -e -o 'pid,comm,args,pcpu,rsz,vsz,stime,user,uid' | grep 5140
其中rsz為實際內存