2012年3月2日 星期五

安裝 jProfiler6 到遠端的 Linux 主機

jProfiler 簡介就免了~
我的主要目的是想追蹤 JVM 上的 thread 狀況
看那些我開出來的 thread 是不是在任何情況都會正確地被關閉。

公司給的 JProfiler 6.2.4 有包含 Windows 的 GUI 跟 Linux 的 jprofiler_linux_6_2_4.tar.gz
安裝時首先要先把遠端機器上的 tomcat 關掉,接著按照以下的流程:

1. 將 jprofiler_linux_6_2_4.tar.gz 放到遠端機器上解壓縮,假設解壓縮到 /jprofiler6。
2. 安裝 JProfiler 6.2.4 的 Windows 版本,啟動後點選 [Start Center] → [New Session] 頁籤 → [New Server Integration]。
3. 精靈的第 1、2  步驟就按照自己的環境選擇,3 選擇 JVM 的開發商,我的是選 Sun、1.6.0
4. 精靈的第 4 步驟選擇 JProfiler 的運作方式:
Wait for a connection from the JProfiler GUI 是在 JRE 啟動時會等待 JProfiler 連線,連線進來後 JVM 才會繼續啟動。我的狀況是選這個~
Startup immediately, connnect later with the JProfiler GUI 是直接啟動 JVM,JProfiler 之後再連進來。
5. 精靈的第 7 步驟要選一個 startup.sh,只要從 Linux 的 tomcat/bin 裡面複製一份 startup.sh,然後路徑填上去就可以了。假設路徑是 D:\test\startup.sh
6. 精靈全部按完以後,會在 5 的同路徑內產生一個 startup_jprofiler.sh 的檔案,把那個檔案改名成 startup.sh 放回遠端機器上的 tomcat/bin。
7. 打開遠端機器上的 tomcat,本機端的 JProfiler 在 6 的精靈結束後會自動產生一個 Session,以後直接開啟那個 Session 就可以連線到那台遠端機器了。

附註:第 5 步驟產生出來的 startup.sh 檔實際上它只加了兩行

CATALINA_OPTS="-agentpath:/jprofiler6/bin/linux-x86/libjprofilerti.so=port=8849,nowait $CATALINA_OPTS"
export CATALINA_OPTS

其中 /jprofiler6 是我在 1 解壓縮檔案的位置。

沒有留言: