使用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爲實際內存