使用docker查看jvm状态,在docker中使用jmap,jstat

  1. 查看正在运行的容器id
docker ps

这里我运行的是一个spring boot应用,docker容器id如下

这里写图片描述

  1. 使用docker exec进入Docker容器,命令如下
docker exec -it 29198c060396 /bin/sh

这里写图片描述

运行jps,已经能看到刚才启动的spring boot应用了

  1. 这时就可以使用jstat,jmap等根据进程id查看程序状态了,以下是我运行jstack查看的堆栈信息

使用docker查看jvm状态,在docker中使用jmap,jstat_第1张图片

  1. 导出jmap dump的文件,进一步分析,copy docker中的文件到宿主机,命令如下
docker cp 29198c060396:/logs/d.20170726.txt .

d.20170726.txt 是我刚才用jmap -dump生成的文件

29198c060396是docker 容器id

你可能感兴趣的:(java)