VisualVM本地列表未显示JBOSS Java应用的解决咨询
解决VisualVM无法显示本地Java进程的方案
1. 匹配VisualVM与目标进程的JDK版本
VisualVM需和目标Java进程使用同版本或兼容版本的JDK:
- 打开VisualVM的
帮助→关于,查看其运行的JDK版本 - 若版本不匹配,修改VisualVM安装目录下的
etc/jvisualvm.conf,将visualvm_jdkhome参数指向你的Java 11 OpenJDK路径,示例:visualvm_jdkhome="/usr/lib/jvm/java-11-openjdk-11.0.10-1"
2. 配置JBoss EAP的JMX参数
JBoss EAP默认未开启本地监控的JMX端口,需手动添加参数:
- 编辑JBoss EAP的
standalone.conf(Linux)或standalone.conf.bat(Windows),加入以下JVM参数:-Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=9990 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Djava.rmi.server.hostname=localhost - 重启JBoss EAP服务
3. 手动添加JMX连接
若自动发现失败,可手动连接进程:
- 打开VisualVM,右键点击
本地→添加JMX连接 - 输入连接地址:
service:jmx:rmi:///jndi/rmi://localhost:9990/jmxrmi - 取消勾选
需要SSL连接,点击确定即可加载目标进程
4. 检查权限与进程用户一致性
- 确保VisualVM和JBoss EAP进程运行在同一用户下,避免跨用户权限限制
- Linux环境下,检查
/tmp/hsperfdata_<用户名>目录权限(JVM进程监控的临时目录),确保VisualVM用户有读写权限:ls -ld /tmp/hsperfdata_<你的用户名> chmod 755 /tmp/hsperfdata_<你的用户名>
5. 调整VisualVM启动参数(Windows环境)
在VisualVM的jvisualvm.conf中,修改visualvm_default_options参数,加入以下内容后重启VisualVM:
-J-Djdk.attach.allowAttachSelf=true
内容的提问来源于stack exchange,提问作者Maka
相关产品推荐
相关产品推荐

