JDK1.5下進(jìn)行系統(tǒng)性能監(jiān)測(cè)應(yīng)用淺析
JDK1.5 附帶的工具 jps ( Java Virtual Machine Process Status Tool ,查看 JVM 進(jìn)程狀態(tài)的工具), jstat(Java Virtual Machine Statistics Monitoring Tool ,運(yùn)行數(shù)據(jù)監(jiān)測(cè)工具 ) 以及 jstatd ( jstat 的 daemon 程序,利用 RMI 進(jìn)行遠(yuǎn)程監(jiān)控)。(建議可以使用 jvmstat 包,可視化的 jstat 監(jiān)控工具,可以在 http://java.sun.com/performance/jvmstat/ 下載)
JDK1.5下系統(tǒng)性能監(jiān)測(cè)部署過(guò)程描述如下:
1.在需要監(jiān)測(cè)的機(jī)器(我這里是 Linux 機(jī)器)部署相關(guān)應(yīng)用:
a)在你需要進(jìn)行監(jiān)測(cè)的機(jī)器上安裝 JDK1.5 (狂暈一陣子),別倒下(這個(gè)部分就不多說(shuō)了,因?yàn)槿绻@里還要解釋的話,那我就暈了)。 feedom.net
b)正確設(shè)置 Java 的運(yùn)行環(huán)境。
c)啟動(dòng) jstatd 進(jìn)程。
命令如下: ./jstatd -J-Djava.security.policy=all.policy 54ne.com
一般來(lái)說(shuō)呢,這里是會(huì)出現(xiàn)問(wèn)題的,那就是 permission 的問(wèn)題了,還好,Sun 的網(wǎng)站上給了相關(guān)的解決方法,方法如下,在 jdk/…/security/ java.policy 文件中添加下面的代碼:
- grant codebase "file:${java.home}/../lib/tools.jar" {
- permission java.security.AllPermission; 54com.cn
- };
然后重新啟動(dòng)jstatd 進(jìn)程。
d)完了,別讓人亂動(dòng)就好了,我經(jīng)常是不小心就按 CTRL+C 把程序關(guān)閉了。
2.JDK1.5下進(jìn)行系統(tǒng)性能監(jiān)測(cè)在客戶(hù)端(監(jiān)控者使用的機(jī)器)的操作:
a)使用 jps 查看遠(yuǎn)端機(jī)器有哪些 JVM 進(jìn)程在使用當(dāng)中,命令如下:
jps 172.25.1.24 // 遠(yuǎn)端機(jī)器的 IP 地址或名稱(chēng)
屏幕輸入如下:
13686 Jstatd
14115 XXXJavaServer
15117 Jserver
b)從上面可以看到遠(yuǎn)端機(jī)器的 Jstatd 進(jìn)程已經(jīng)啟動(dòng)起來(lái)了。我們就可以使用 jstat 對(duì)相關(guān)進(jìn)程的具體情況進(jìn)行查看。
Jstat 命令用法如下:
jstat -<option> [-t] [-h<lines>] <vmid> [<interval> [<count>]]
解釋如下:
Option 包括以下選項(xiàng):
-class
-compiler
-gc
-gccapacity
-gccause
-gcnew
-gcnewcapacity
-gcold
-gcoldcapacity
-gcpermcapacity
-gcutil
-printcompilation
Vmid 就是 jps 查看到的進(jìn)程 id ,如上 Jserver 的進(jìn)程 id 是 15117 。
Interval 是時(shí)間間隔,單位為毫秒, 1000 就是一秒。
Count 就是需要查看的次數(shù)。
例子假設(shè)我們需要查看 172.25.1.24 機(jī)器 vmid 為 15117 的 gc 的情況,可以輸入下面的命令:
feedom.net
jstat -gc 15117@172.25.1.24 1000 3
然后你能看到四行信息(一行為 title ,剩下的就是你要的信息了),仔細(xì)看看就可以發(fā)現(xiàn)很多信息的了.。
c)那么下面就開(kāi)始配置可視化的監(jiān)控包, jvmstat ,下載好了后,解壓到任意目錄。
執(zhí)行 visualgc ,然后就可以看到可視化的監(jiān)控窗口。不過(guò),好像現(xiàn)在只提供 Linux 下的 visualgc 的啟動(dòng)腳本,所以在 Windows 下或者 Linux 最好使用我下面提供的方式:
網(wǎng)管在 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 的路徑就好了。
成功執(zhí)行后你就能看見(jiàn)一個(gè) java 的監(jiān)視窗口(樣子還蠻專(zhuān)業(yè)的),這個(gè)時(shí)候就 可以開(kāi)始監(jiān)視了。
JDK1.5下系統(tǒng)性能監(jiān)測(cè)情況就介紹到這里,關(guān)于JDK1.5下系統(tǒng)性能監(jiān)測(cè)的操作希望還要多加練習(xí)。
【編輯推薦】