查看 docker 进程,获取containerid
docker ps
进入容器
docker exec -it containerid /bin/bash
有时候直接用上述命令会有以下错误出现,,这个错误说明,该镜像不包含bash的风格操作,没有这样的文件或目录,可能你的镜像基于busyBox,他没有bash shell,但他在/bin/sh 有一个shell,可以使用以下命令调用
OCI runtime exec Failed: exec Failed: container_linux.go:337: starting container process caused “exec: “/bin/bash”: stat /bin/bash: no such file or directory”: unkNown
docker exec -ti containerid /bin/sh
查看 JVM 信息
- jstack 查看线程堆栈信息
- jmap 导出内存堆栈信息
- jstat 统计gc 回收信息
- jinfo 统计gc 回收信息
这里可能会出现pid 为1导致openjdk 为8时打印不了堆栈信息,我将dockerfile 的openjdk改为11 后可以,但网上有其他方式解决,详情看:http://www.likecs.com/show-46716.html
报错信息:Unable to get pid of LinuxThreads manager thread
jstack 查看线程堆栈信息示例
jstack app 或者查看下pid 文件上的pid值
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。