docker查看jvm內存占用


 

一。進入docker容器的宿主機,查看運行指定鏡像的容器id(結果的第一列):

docker ps | grep myImageName(或docker ps | grep java)

二。進入容器內部:

docker exec -it containerId sh

三。直接輸入top命令:

top

可看到基本的容器占用的信息:pid、vsz、cpu、command等。(ctrl+c 或 q,退出top)

四。查看更具體的jvm內存占用:

top  -m 

其中,vsz:Virtual Memory Size,虛擬內存大小,表明了該進程可以訪問的所有內存,包括被交換的內存和共享庫內存。

rss: Resident Set Size,常駐內存集合大小,表示進程在RAM中占用了多少內存,並不包含在SWAP中占用的虛擬內存。即使是在內存中的使用了共享庫的內存大小也一並計算在內,包含了完整的在stack和heap中的內存。

SHR:shared memory,共享內存。

 

補充:

ps  -ef  | grep java 或 docker top 容器id ,可查看pid的一些信息。

ps aux | grep java。

top  -p pid。

RSS 是常駐內存集(Resident Set Size),表示該進程分配的內存大小。
RSS 不包括進入交換分區的內存。
RSS 包括共享庫占用的內存(只要共享庫在內存中)
RSS 包括所有分配的棧內存和堆內存。
VSZ 表示進程分配的虛擬內存。
VSZ 包括進程可以訪問的所有內存,包括進入交換分區的內容,以及共享庫占用的內存。

VSZRW:未百度到具體含義,猜測:初始申請的虛擬內存大小。

docker stats 容器名  或  docker stats 容器id,結果如下:

CONTAINER           CPU %               MEM USAGE / LIMIT         MEM %               NET I/O      BLOCK I/O       PIDS


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM