程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 利用JDK1.5新工具進行系統性能監測

利用JDK1.5新工具進行系統性能監測

編輯:關於JAVA
最近需要在 Linux 系統上對 Java 的應用系統進行監測,就用到了 JDK1.5 附帶的工具 jps ( Java Virtual Machine Process Status Tool ,查看 JVM 進程狀態的工具), jstat(Java Virtual Machine Statistics Monitoring Tool ,運行數據監測工具 ) 以及 jstatd ( jstat 的 daemon 程序,利用 RMI 進行遠程監控)。(建議可以使用 jvmstat 包,可視化的 jstat 監控工具,可以在 http://java.sun.com/performance/jvmstat/ 下載)

部署過程描述如下:

1. 在需要監測的機器(我這裡是 Linux 機器)部署相關應用:

a) 在你需要進行監測的機器上安裝 JDK1.5 (狂暈一陣子),別倒下(這個部分就不多說了,因為如果這裡還要解釋的話,那我就暈了)。

b) 正確設置 Java 的運行環境。

c) 啟動 jstatd 進程。

命令如下: ./jstatd -J-Djava.security.policy=all.policy

一般來說呢,這裡是會出現問題的,那就是 permission 的問題了,還好, Sun 的網站上給了相關的解決方法,方法如下,在 jdk/…/security/ java.policy 文件中添加下面的代碼:

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

permission java.security.AllPermission;

};

然後重新啟動 jstatd 進程。

d) 完了,別讓人亂動就好了,我經常是不小心就按 CTRL+C 把程序關閉了。

2. 在客戶端(監控者使用的機器)的操作:

a) 使用 jps 查看遠端機器有哪些 JVM 進程在使用當中,命令如下:

jps 172.25.1.24 // 遠端機器的 IP 地址或名稱

屏幕輸入如下:

13686 Jstatd

14115 XXXJavaServer

15117 Jserver

b) 從上面可以看到遠端機器的 Jstatd 進程已經啟動起來了。我們就可以使用 jstat 對相關進程的具體情況進行查看。

Jstat 命令用法如下:

jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]

解釋如下:

Option 包括以下選項:

-class

-compiler

-gc

-gccapacity

-gccause

-gcnew

-gcnewcapacity

-gcold

-gcoldcapacity

-gcpermcapacity

-gcutil

-printcompilation

Vmid 就是 jps 查看到的進程 id ,如上 Jserver 的進程 id 是 15117 。

Interval 是時間間隔,單位為毫秒, 1000 就是一秒。

Count 就是需要查看的次數。

例子假設我們需要查看 172.25.1.24 機器 vmid 為 15117 的 gc 的情況,可以輸入下面的命令:

jstat -gc [email protected] 1000 3

然後你能看到四行信息(一行為 title ,剩下的就是你要的信息了),仔細看看就可以發現很多信息的了(如果不明白,可以問我, 6-6 )。

c) 那麼下面就開始配置可視化的監控包, jvmstat ,下載好了後,解壓到任意目錄。

執行 visualgc ,然後就可以看到可視化的監控窗口。不過,好像現在只提供 Linux 下的 visualgc 的啟動腳本,所以在 Windows 下或者 Linux 最好使用我下面提供的方式:

在 Linux 下:

/usr/java/jdk1.5/bin/java –Xbootclasspath/p:” /usr/java/jdk1.5/lib/tools.jar” –jar jvmstat/jars/visualgc.jar vmid@server

在 Windows 下也一樣,就是改改 jdk 的路徑就好了。

成功執行後你就能看見一個 java 的監視窗口(樣子還蠻專業的),這個時候就可以開始監視了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved