1. 測試環境java
Ubuntu Server 10.01shell
2. 在服務器上安裝 jstatd 組件tomcat
使用apt-get 命令安裝 openjdk 便可 :安全
3. 在服務器上配置 jstatd 的 security policy 文件服務器
jstatd是一個監控 JVM 從建立到銷燬過程當中資源佔用狀況並提供遠程監控接口的 RMI ( Remote Method Invocation ,遠程方法調用)服務器程序,它是一個 Daemon 程序,要保證遠程監控軟件鏈接到本地的話須要 jstatd 始終保持運行。 網絡
jstatd運行須要經過 -J-Djava.security.policy=*** 指定安全策略,所以咱們須要在服務器上創建一個指定安全策略的文件jstatd.all.policy ,文件內容以下:框架
4. 修改服務器 hosts 文件中的 IP 地址jvm
要使Java VisualVM 成功鏈接到遠程服務器上,服務器端應該在 /etc/hosts 文件中把本機地址設爲本機的 IP 地址。使用 hostname -i 命令查看,若是顯示的是 127.0.0.1 或者與本機實際 IP 不一致的話,須要把 /etc/hosts 文件中相應的地址改成本機實際 IP 。post
5. 運行 jstatd 守護程序性能
因爲 jstatd 須要保持一直運行,因此建議使用 screen 命令執行 jstatd 程序,命令以下:
jstatd -J-Djava.security.policy=jstatd.all.policy -J-Djava.rmi.server.logCalls=true
若是須要RMI 日誌功能的話,還能夠在啓動參數中加入 -J-Djava.rmi.server.logCalls=true 。
jstatd開始運行後,使用 CTRL+A+D 斷開 screen 界面,回到 shell 界面。若是想切換回 jstatd 運行界面的話,使用 screen -r -d命令便可。
6. 經過Java VisualVM 鏈接到服務器監控 Java 程序
在Java VisualVM 程序窗口左側 「 遠程 」 項目右鍵選擇 「 添加遠程主機 」 ,在彈出的對話框中輸入遠程主機的 IP 地址,確認提交後便可看到相應的遠程主機和在上面運行的 Java 程序,鏈接成功後應該會顯示 Jstatd 及其 PID 。
經過以上方式鏈接服務器發現一個問題,不能監控CPU 。提示咱們創建 JMX ,創建 JMX 提示要求端口號。( JMX:Java Management Extensions ,即 Java 管理擴展 , 是一個爲應用程序、設備、系統等植入管理功能的框架。 JMX 能夠跨越一系列異構操做系統平臺、系統體系結構和 網絡傳輸協議,靈活的開發無縫集成的系統、網絡和服務管理應用 。而Visual VM是經過 JMX 來和遠程 Java 應用聯繫的 )。
7. T omcat中配置
下面咱們爲54 服務器的 tomcat 配置 jvm 啓動參數。 在 tomcat 的 catalina.sh 中添加以下參數:
或:
注:1. -Dcom.sun.management.jmxremote.port :這個是配置遠程 connection 的端口號的,要肯定這個端口沒有被佔用
2. -Dcom.sun.management.jmxremote.ssl=false 指定了 JMX 是否啓用 ssl
3. -Dcom.sun.management.jmxremote.authenticate=false 指定了JMX 是否啓用鑑權(須要用戶名,密碼鑑權)
2,3兩個是固定配置,是 JMX 的遠程服務權限的
4. -Djava.rmi.server.hostname :這個是配置 server 的 IP 的
鏈接成功,如今咱們能夠遠程監控服務器性能,能夠配合 jmeter 進行了一個長時間的加壓,在加壓過程當中重點關注了系統資源的使用狀況。
資源:http://sjsky.iteye.com/blog/705323 ;