首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在JDK-8上使用JDK-11运行jcmd java进程未成功运行

在JDK-8上使用JDK-11运行jcmd java进程未成功运行
EN

Stack Overflow用户
提问于 2020-02-13 15:22:23
回答 1查看 395关注 0票数 1

我正在尝试使用jcmd监控tomcat的本机内存,但得到以下异常:命令:jcmd 14533<pid of tomcat> VM.native_memory summary

我已经安装了2个jdk's jdk-11jdk-8

Tomcat由jdk-8运行,而jcmd使用jdk-11,然后我得到了以下异常:

代码语言:javascript
复制
com.sun.tools.attach.AttachNotSupportedException: Unable to open socket file /proc/31752/root/tmp/.java_pid31752: target process 31752 doesn't respond within 10500ms or HotSpot VM not loaded
    at jdk.attach/sun.tools.attach.VirtualMachineImpl.<init>(VirtualMachineImpl.java:100)
    at jdk.attach/sun.tools.attach.AttachProviderImpl.attachVirtualMachine(AttachProviderImpl.java:58)
    at jdk.attach/com.sun.tools.attach.VirtualMachine.attach(VirtualMachine.java:207)
    at jdk.jcmd/sun.tools.jcmd.JCmd.executeCommandForPid(JCmd.java:114)
    at jdk.jcmd/sun.tools.jcmd.JCmd.main(JCmd.java:98)

我将-XX:+StartAttachListener与java进程绑定在一起,但它不起作用。

EN

回答 1

Stack Overflow用户

发布于 2020-05-12 22:14:14

这可能是一个用户权限问题: jmap必须以与java进程相同的用户身份运行。例如,如果所有者是usera,并且这是在包含的docker中运行,则以用户usera的身份执行jmap

代码语言:javascript
复制
docker exec --user usera -it container_id jmap -dump:format=b,file=/home/usera/memorydump.bin 1
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60202446

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档