Docker IBM SDK-8 Image – 获取线程/内存转储

我正在使用ibmcom / ibmjava:8-sdk映像。 我如何获得线程转储和内存转储? 我用-Xdump选项启动了jvm。 但是,当我给杀-3皮 – 没有消息,转储创build。

我假设你正在发出kill命令给分离的容器。 如果是这样的话,那么命令“docker日志”将有助于获得细节。

这是我如何尝试,

1.启动一个容器(分离状态):

docker run --rm --detach --workdir /dockapp --volume /Users/parselva/docker-test:/dockapp ibmjava:latest java -Xdump:java:events=vmstart ThreadSleep 

2.读取容器内的java进程的pid:

 docker exec 97b37120ea7b ps -eaf | grep ThreadSleep root 1 0 0 11:03 ? 00:00:00 java -Xdump:java:events=vmstart ThreadSleep 

3.向java进程发出信号:

 docker exec 97b37120ea7b kill -3 1 

4.使用docker logs命令find生成的日志文件的位置:

 docker logs 97b37120ea7b JVMDUMP039I Processing dump event "user", detail "" at 2017/08/07 11:10:07 - please wait. JVMDUMP032I JVM requested Java dump using '/dockapp/javacore.20170807.111007.1.0004.txt' in response to an event JVMDUMP010I Java dump written to /dockapp/javacore.20170807.111007.1.0004.txt JVMDUMP013I Processed dump event "user", detail "".