`

使用jprofiiler远程监控tomcat【安装篇】

阅读更多

     有时web网站会在运行一段时间后,莫名死掉。于是用jdk自带的jconsole监控了一下,发现内存不断增加,cpu也会达到90%以上。于是去检查程序是否有代码造成死循环,或者内存溢出。最后是借助于jprofiler工具找到了错误原因。觉得在这方面jprofiler是个不错的工具。以下总结一下jprofiler的安装和基本用法。

 

    

   1.测试环境
服务器:Linux 2.6.18-8el5 ,Tomcat6.0,Sun JDK 1.6,JProfiler 5.1.2for linux(安装包:jprofiler_linux_5.1.2.sh)
客户端:Windows XP,JProfiler5.1.2 for windows(安装包:jprofiler_windows_5_1_2.exe)

2.JProfiler软件下载地址 http://www.ej-technologies.com/

3.客户端 JProfiler 安装

4.服务器端 JProfiler 安装:
把 jprofiler_linux_5.1.2.sh 上传到到服务器,假设路径为 /opt

# cd /opt
# chmod +x *.sh
# ./jprofiler_linux_5.1.2.sh -c
按照提示来安装,提示都很简单,不在多说。安装路径选择 /opt/jprofiler5

注意,这里的 -c 意思是用字符方式来安装,如果机器上没有 X 则加上该参数.

5.客户端连接配置
1). 运行 JProfiler 。第一次打开会有向导,忽略它。
2). 选择 Session->Integration Wizard->New Remote Integratation
3). 选择 On a remote computer;Platform of remote computer 选择 Linux x86/AMD 64;Next
4). 输入服务器 IP ;Next
5). 输入服务器上的 jprofiler 的安装路径,如 /opt/jprofiler5 ;next
6). 选择服务器的 JDK 环境,这里是:Sun,1.6.0,hotspot;next
7). 输入端口:这里是默认值 8849;next
8). 选择启动模式:这里选第一种 wait for a connection from the jprofiler GUI;next
9). 这里会列出需要在服务器端做的配置(这些信息很重要,能否配置成功均在于此):
Integration type: [Generic application]
Selected JVM: Sun 1.6.0 (hotspot)
Startup mode: Wait for JProfiler GUI

(1) Please insert
-agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/opt/jprofiler5/bin/agent.jar

into the start command of your remote application right after the java command.

(2) Please add
/opt/jprofiler5/bin/linux-x86

to the environment variable LD_LIBRARY_PATH.

A remote session named Remote application on 192.168.1.210 will be created that connects to a running instance of the remote application that is started with the modified start command.

6.服务器端的配置(1)修改系统环境配置文件 /etc/profile ,增加
JPROFILER_HOME=/opt/jprofiler5/bin/linux-x86
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$JPROFILER_HOME


(2)修改TOMCAT启动文件catalina.sh,添加-agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/opt/jprofiler5/bin/agent.jar 内容到CATALINA_OPTS中;
“-agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/opt/jprofiler4/bin/agent.jar ” 此内容由客户端软件生成
CATALINA_OPTS="$JPDA_OPTS -agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/opt/jprofiler4/bin/agent.jar"

7.Reboot Linux and startup Tomcat using startup.sh;
   The log of tomcat which is $CATALINA_HOME/logs/catalina.out will show:
JProfiler> Protocol version 23
JProfiler> Using JVMTI
JProfiler> 32-bit library
JProfiler> Listening on port: 8849.
JProfiler> Native library initialized
JProfiler> Waiting for a connection from the JProfiler GUI



8.启动客户端软件
   点击jprofiler菜单 session>start center>Open Session
   Available session configurations中列出了刚才配置的连接,选中使用就OK了!!

9.The log of tomcat which is $CATALINA_HOME/logs/catalina.out will show:
JProfiler> Using dynamic instrumentation
JProfiler> Time measurement: elapsed time
JProfiler> CPU profiling enabled
JProfiler> Hotspot compiler enabled
JProfiler> Starting org/apache/catalina/startup/Bootstrap

10.当中断JProfiler连接时
   The log of tomcat which is $CATALINA_HOME/logs/catalina.out will show:
JProfiler> Disconnected. Waiting for reconnection.
JProfiler> Listening on port: 8849.


注意:
在监测时,会发现连接一段时间后,就会失去连接。这时应修改Tomcat的配置文件server.xml,该文件位于/tomcat/conf目录下。找到后将Shutdown端口号和Connector端口号分别改成8005和8080,就没问题了。 

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics