用visualvm觀察遠程服務器java項目的兩種辦法


 

本人的visualvm是1.4.2的mac版本

首先,需要連接遠程服務器:

右擊remote,選擇add remote host

填寫遠程服務器地址:

 

 准備工作已經做好,下面將visual vm的兩種連接遠程java的方法。

法一:jstatd

用jstatd需要在遠程服務器上啟動一下jstatd,步驟如下:

【遠程服務器上】

1.cd ${JAVA_HOME}/bin

2.sudo vi jstatd.all.policy

 

 其中jstatd.all.policy 文件內容如下:

grant codebase "file:${java.home}/../lib/tools.jar" {

permission java.security.AllPermission;

};

3.jstatd -J-Djava.security.policy=jstatd.all.policy &

 

 此時jstatd啟動成功,在本地的visualvm可以看到如圖,可以進行自行查看。

 

法二:用jmx

 【遠程服務器】上

1.

cd ${JAVA_HOME}/
cd jre/
cd lib/
cd management/
cp jmxremote.password.template jmxremote.password
sudo vi jmxremote.password

文件中將monitorRole  QED和 controlRole   R&D前的注釋去掉,然后保存

2.更改java參數

我用的是supervisor進行java進程管理。

cd /etc/supervisord.d/

在java啟動項里加上

-Djava.rmi.server.hostname=【遠程服務器的ip】 -Dcom.sun.management.jmxremote.port=18999 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false

3.重啟supervisor

sudo supervisorctl reload

 

在本地的visual vm上添加jmx

填上你的遠程服務器的ip以及剛剛在java參數里配的端口18999:

 

 點擊ok,可以看到添加成功:

 


免責聲明!

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



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