一、宿主机上,查看docker容器ip和端口号,以及进入docker操作
第一步:查看docker容器的虚拟ip和映射端口(如端口[3658]没有,需要将端口加入进去)
命令:docker inspect 容器名称
第二步:进入docker容器
命令:docker exec -it 容器名称 /bin/bash
二、在docker容器中下载相关组件包:
第一步:下载wget telnet
apt-get update && apt-get install -y wget telnet
第二步:下载arthas
wget https://arthas.gitee.io/arthas-boot.jar
三、在docker容器中启动arthas('xxx.xxx.xxx.xxx'为docker容器的虚拟ip)
java -jar arthas-boot.jar --target-ip 'xxx.xxx.xxx.xxx'
四、可以用浏览器webconsole连接arthas了(浏览器输入:http://xxx.xxx.xxx.xxx:3658)
使用小技巧:
1、生成内存快照:heapdump --live /root/jvm.hprof
2、查看进程当前运行情况:thread 进程id
3、查看进程死锁:thread -b
4、如果在docker中,dump数据,需要复制到宿主机,执行命令:docker cp 容器名称:[容器中路径] [宿主机目录]
参考资料:
https://mp.weixin.qq.com/s?__biz=MzIxMzMxMDcwNA==&mid=2247485580&idx=1&sn=110ac691cbe76199f999ceb2cbdefdec&chksm=97b98513a0ce0c058576ffd251b5a96d80f81e94003352bbafd6d7fbfbd7391b20104ad20972&scene=178&cur_album_id=1338159192301027331#rd
https://www.cnblogs.com/spareyaya/p/13177513.html
https://www.cnblogs.com/qiaoyihang/p/10533672.html