使用visualvm远程监控LINUX服务器JVM
使用visualvm遠程監控LINUX服務器JVM
一、JMX方式:
1. 首先要修改JDK中JMX服務的配置文件,以獲得相應的權限:
進入$JAVA_HOME所在的根目錄的/jre/lib/management子目錄下,
a. 將jmxremote.password.template文件復制為jmxremote.password
b. 調整jmxremote.access和jmxremote.password的權限為只讀寫,可以使用如下命令
chmod 600 jmxremote.access jmxremote.password
c. 打開jmxremote.password文件,去掉
這兩行前面的注釋符號
2. 啟動參數
在需要監聽的程序上啟動參數帶上以下參數
-Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=[hostIp]-Dcom.sun.management.jmxremote.port:這個是配置遠程connection的端口號的,要確定這個端口沒有被占用 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false:這兩個是固定配置,是JMX的遠程服務權限的 -Djava.rmi.server.hostname:這個是配置server的IP的,要使用server的IP最好在機器上先用hostname –i看一下IP是不是機器本身的IP,如果是127.0.0.1的話要改一下,否則遠程的時候連不上,目前我們的server上我已經都改好了3. Windows客戶端配置
JDK自帶visualvm,只需要進到bin目錄下啟動即可
啟動后頁面比較簡潔,配置也很簡單:
a. 點擊左側菜單的add Remote host,輸入server的IP,然后再advanced settings里配置端口(注意這個端口要和server上的端口一致)
b. 右擊剛才配置的IP,選擇JMX connection方式,再次輸入端口,就可以監視到JVM資源了
二、 Jstatd方式:
1. 在服務器上的java安裝的bin下(如/usr/local/java/jdk1.8.0_91/bin)新建一個文件
文件名為jstatd.all.policy
文件內容如下
2. 在當前目錄中(bin)執行如下命令
./jstatd -J-Djava.rmi.server.hostname=[hostIp] -J-Djava.security.policy=jstatd.all.policy -p 1100命令中的hostname是服務器的IP地址,-p是端口,這兩項需要自己指定(網上使用默認IP地址和端口的命令,但我嘗試了無法生效)。如果不指定端口。那么端口的默認值為1099。執行完畢后,使用telnet命令測試端口是否被監聽。 如果一切正常, 說明jstatd服務已經配置成功了。
3. Windows客戶端配置
在電腦上打開visual vm軟件,右擊左側菜單中的「遠程」菜單項,輸入目標服務器IP地址添加一個遠程主機。 然后再右擊新加的主機菜單項, 在彈出的菜單中選擇「添加jstatd連接」。 在彈出的對話框中的文本框中輸入在第二步配置中指定的端口號(默認是1099)
注意: JMX方式啟動不能使用Visual GC插件,jstatd方式可以使用但CPU視圖不可以使用,因此可以結合兩者一起使用,首先啟用jstatd使用端口1099,再在需要監聽的應用上啟用JMX使用另外的端口
轉載于:https://www.cnblogs.com/chenvi/p/8289432.html
總結
以上是生活随笔為你收集整理的使用visualvm远程监控LINUX服务器JVM的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嵌入式Tomcat容器的参数(maxPa
- 下一篇: BZOJ2301: [HAOI2011]