Java效能分析神器-JProfiler 遠端除錯Tomcat
阿新 • • 發佈:2018-12-30
之前已經介紹過如何除錯本地的JBoss。現在額外一篇文章關於如何遠端除錯Tomcat的,其實遠端和本地的區別不大,主要區別只是,JProfiler的GUI執行在你本地,而JProfiler的Agent執行在遠端服務端。本地和遠端都需要安裝Jprofiler的執行環境,帖子裡面,本地是Windows,伺服器端是Linux。廢話不多說,直接上乾貨
環境:
1、jdk > 1.62、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的各種情況了。