之前已经介绍过如何调试本地的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的各种情况了。