linux jconsole的遠程配置--實測可用


工作上,經常要對tomcat的java內存配置、tomcat線程池等進行調(luan)優(gao)。

jconsole 是一個最基礎用到的jdk自帶的JVM性能查看工具。

最近進行linux測試。 所以需要配置 jconsole的遠程訪問服務。網上找了好幾個文章,才調試好。記錄下經過。

---------------------------------------------------------------------------

第一版, 增加JAVA_OPTS : 

if [ "$1" = "start" ] ; then#判斷是否為啟動
JAVA_OPTS="-Dcom.sun.management.jmxremote.port=10000 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=192.168.217.128"
fi

 其中,ssl=false表示不使用ssl;authenticate=false表示不需要認證,即不需要用戶名、密碼,如果該參數為true,則還需要其他用戶名、密碼的相關參數。

需要注意的是,這幾個參數在使用時要連在一起,實際使用過程中發現,如果這幾個參數中間有夾雜其他的JVM參數,則可能無法開啟JMX的遠程訪問

在cygwin=false前面加入這段話
authenticate為false,jconsole連接遠程jvm時,就不需要輸入用戶名和密碼。
否則,要配置密碼文件和密碼。
可以指定密碼文件的位置
JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote.pwd.file=/root/soft/jdk7/jre/lib/management/jmxremote.password"

#設置密碼的話,除了上面的參數配置,還有搞下密碼文件

 cp  jmxremote.password.template   jmxremote.password

#授權可寫入,然后將 文件的最后兩行的注釋去掉。最后兩行即為 【用戶名  密碼】

chmod u+w jmxremote.password 

測試結果: 第一版:因為 JAVA_OPTS 還有其他內存參數配置,導致 jmx端口沒有啟動。

即:用   netstat -an |grep 10000  查不到端口監聽信息。

 -----------------------------------------------

第二版:修改CATALINA_OPTS  》》OK. 

即:進入Tomcat/bin目錄,修改catalina.sh,找到如下內容“#—–Execute The Requested Command”,在其上添加以下配置,此配置不需要用戶名、密碼。

CATALINA_OPTS=”$CATALINA_OPTS

-Dcom.sun.management.jmxremote

-Djava.rmi.server.hostname=192.168.23.1

-Dcom.sun.management.jmxremote.port=9999

-Dcom.sun.management.jmxremote.ssl=false

-Dcom.sun.management.jmxremote.authenticate=false”
注意是一行。 然后測試還可以。

 

 

參考: https://blog.csdn.net/dongdong2980/article/details/78476393

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM