jvm 无法将VisualVM远程连接到CentOS

n53p2ov0  于 2022-11-07  发布在  其他
关注(0)|答案(1)|浏览(208)

我是VisualVM的新手,尝试监控Tomcat 9 CentOS服务器上部署的某个应用程序。我已经在Windows笔记本电脑上安装了VisualVM,并尝试远程连接到CentOS服务器上的JVM,但没有显示任何内容(VisualVM上的消息:此JVM不支持)。
请查看CentOS服务器上安装的以下Java版本:

[root@localhost bin]# java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)

根据我看到的在线资源,我需要在Tomcat上启用JMX,因此我在setenv.sh(在tomcat/bin文件夹中)文件中添加了以下属性:

export CATALINA_OPTS="\
-Dcom.sun.management.jmxremote \
-Dcom.sun.management.jmxremote.port=8999 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false"

我已经下载了最新的VisualVM,并通过File-〉Add Remote Host创建了一个远程主机。然后添加JMX连接信息,如下所示:

connection:dymmyip:8999
username  :user
Password  :dummyPassword
uncheck   :do not require ssl

当我尝试连接时,显示以下屏幕:

有谁能告诉我,我在这里错过了什么?

c6ubokkw

c6ubokkw1#

您可以在setenv.sh中添加缺少的=true

export CATALINA_OPTS="\
-Dcom.sun.management.jmxremote=true \
-Dcom.sun.management.jmxremote.port=8999 \
-Dcom.sun.management.jmxremote.authenticate=false \
-Dcom.sun.management.jmxremote.ssl=false \
-Dcom.sun.management.jmxremote.local.only=false"

你也得...

$ cd <your-tomcat-dir>/bin
$ chmod a+x setenv.sh

请确保不是防火墙问题。使用telnet dummyip 8999测试连接
请确保在VisualVM和Tomcat上使用相同的JVM。(还要注意体系结构:32位或64位)
您可以获得VisualVMhere的最新版本。
要安装它,请执行以下操作:

$ [ -f "/usr/bin/visualvm" ] && sudo mv /usr/bin/visualvm{,.old}
$ wget https://github.com/oracle/visualvm/releases/download/2.1.4/visualvm_214.zip
$ unzip visualvm_214.zip
$ sudo mv visualvm_214 /opt/
$ sudo ln -s /opt/visualvm_214/bin/visualvm /usr/bin/

$ visualvm --jdkhome /usr/lib/jvm/java-17-openjdk-amd64

--jdkhome中使用所需的路径。

相关问题