簡體   English   中英

無法將 VisualVM 遠程連接到 CentOS

[英]Unable to remote connect VisualVM to CentOS

我是 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

當我嘗試連接時,會顯示以下屏幕:

在此處輸入圖像描述

誰能告訴我我在這里缺少什么?

您可以在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"

你也必須對你的setenv.sh進行chmod

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

確保這不是防火牆問題。 telnet dummyip 8999測試連接

確保在 VisualVM 和 Tomcat 上使用相同的 JVM。 (也要小心架構:32 位或 64 位)

您可以在此處獲取VisualVM的最新版本。
要安裝它:

$ [ -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中使用您想要的路徑。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM