1. 程式人生 > >Java效能分析神器-JProfiler 遠端除錯Tomcat

Java效能分析神器-JProfiler 遠端除錯Tomcat

之前已經介紹過如何除錯本地的JBoss。現在額外一篇文章關於如何遠端除錯Tomcat的,其實遠端和本地的區別不大,主要區別只是,JProfiler的GUI執行在你本地,而JProfiler的Agent執行在遠端服務端。本地和遠端都需要安裝Jprofiler的執行環境,帖子裡面,本地是Windows,伺服器端是Linux。廢話不多說,直接上乾貨

環境:

1、jdk > 1.6

2、jprofiler 9.0.3

3、Tomcat 7

遠端Linux 伺服器配置

解壓:
tar -zxvf jprofiler_linux_9_0_3.tar.gz

拷貝:
cd jprofiler9/bin/
cp jprofiler /usr/local/

配置環境變數:
修改/etc/profile系統配置檔案:
JPROFILER_HOME=/opt/shanhy/jprofiler9/bin/linux-x64
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JPROFILER_HOME
使配置檔案生效:source /etc/profile

本地windows自己安裝。

生成指令碼

在本機生成startup_jprofiler.sh指令碼,步驟如下:

至此,startup_jprofiler.sh 已經生成,生成位置與我們選擇的 startup.sh 在同一個目錄。

我們把 startup_jprofiler.sh 上傳到遠端Linux伺服器的Tomcat/bin目錄下。

與往常啟動Tomcat不同的是,我們不使用 startup.sh 而是直接使用 startup_jprofiler.sh 啟動Tomcat。

這裡需要說一下的是,預設startup_jprofiler.sh 最後啟動Tomcat 方式為 run,我們需要修改一下,修改為 start,下面我們對比一下startup.sh 和 startup_jprofiler.sh 的不同:


其實差別也就是增加了2行配置,推薦大家直接在伺服器上覆制startup.sh 為 startup_jprofiler.sh,然後新增如下兩行即可:

CATALINA_OPTS="-agentpath:/opt/jprofiler9/bin/linux-x64/libjprofilerti.so=port=8849,nowait $CATALINA_OPTS"
export CATALINA_OPTS

如果是用工具生成的startup_jprofiler.sh,注意我們要把生的startup_jprofiler.sh的最後一行的 run 修改為 start 後,再啟動Tomcat,啟動如圖所示:


最後,啟動jProfiler 監控

點選OK 後,我們就可以檢視伺服器Tomcat的各種情況了。