Docker 使用 alpine openjdk 无法查看JVM 无jmap、jstat

您所在的位置:网站首页 安装jps命令 Docker 使用 alpine openjdk 无法查看JVM 无jmap、jstat

Docker 使用 alpine openjdk 无法查看JVM 无jmap、jstat

2023-07-30 18:05| 来源: 网络整理| 查看: 265

在工作中遇到docker中的项目PID为1,镜像中JDK为:openjdk:8-jre-alpine,原因是因为jre的包取消了jdk的一些工具内。可在docker中查看相关信息可安装jattach即可解决

1.安装jattach apk add --no-cache jattach --repository http://dl-cdn.alpinelinux.org/alpine/edge/community/ apk add --no-cache jattach --repository http://mirrors.aliyun.com/alpine/latest-stable/community/

指令集:

load : load agent library(导入agent库)

properties : print system properties(打印系统属性)

agentProperties : print agent properties(打印agent属性)

datadump : show heap and thread summary(显示堆和线程概要信息)

threaddump : dump all stack traces (like jstack)(导出栈信息)

dumpheap : dump heap (like jmap)(导出堆信息)

inspectheap : heap histogram (like jmap -histo)(显示堆信息直方图)

setflag : modify manageable VM flag(修改可管理的VM参数)

printflag : print VM flag(打印VM参数)

jcmd : execute jcmd command(执行jcmd命令)

1.1 如使用:jcmd命令: jattach jcmd "help -all" 1.2 使用dumpheap命令导出堆载信息 jattach dumpheap jattach 1 jcmd 'GC.heap_dump -all ./123.hprof' 2.切换为jdk包

切换包后可能出现这一错误:

# jmap -histo 1 1: Unable to get pid of LinuxThreads manager thread

若是docker-compose.yml,可在编排文件中添加参数:

pid: "host"

将PID模式设置为主机PID模式,跟主机系统共享进程命名空间。容器使用这个标签将能够访问和操纵其他容器和宿主机的名称空间。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3