由于我项目制作的java运行镜像都是基于anapsix/alpine-java,这个是目前最小的java镜像,jdk的版本是1.8的。anapsix/alpine-java是一个jre的镜像,如果你要做jvm分析,需要准备tools.jar,jstat,jmap文件。下面就是我的实际操作步骤。
一、准备tools.jar,jstat,jmap 并拷贝到docker容器里面
我这里只用到jstat和jmap,jstat用于在容器里面直接观察jvm状况。jmap用于生成heapdump文件,生成的heapdump文件,通过MemoryAnalyzer工具分析java堆里面的对象。
为什么需要用到tools.jar,其实tools.jar包装了jstat,jmap,jinfo等需要的内容。
[ellis@localhost bin]# find /usr -name java
/usr/local/share/swig/3.0.0/java
/usr/java
/usr/java/jdk1.8.0_181-amd64/jre/bin/java
/usr/java/jdk1.8.0_181-amd64/bin/java
/usr/bin/java
[ellis@localhost bin]# docker container ls|grep processor
22a5379ac905 my-registry:5000/processor:lastest "/bin/sh ./start…" 17 hours ago Up 17 hours 14051/tcp dev-smarthome-processor.1.mosm97bkvnnsr4v3dku7vjrhk
[ellis@l