【转帖】 使用 JProfiler 监控 JBoss 运行情况
### 使用 JProfiler 监控 JBoss 运行情况 #### JProfiler简介与功能 JProfiler是一款功能强大的Java性能分析工具,它可以对Java应用程序、Applets、Java Web Start应用以及应用服务器进行性能监控与分析。通过深入地分析内存使用、线程活动、垃圾回收等关键性能指标,帮助开发人员及系统管理员定位并解决性能瓶颈。 #### 安装JProfiler 对于不同的操作系统,JProfiler提供了对应的安装包。例如,在Red Hat Linux 3.4.3-9.EL4发行版上(内核版本为2.6.9-5.ELsmp),当使用JBoss 4.0.3和Sun JDK 1.5.0_08时,可以安装JProfiler 4.3.2 for Linux版本。具体安装步骤如下: 1. **下载并准备安装包**:下载`jprofiler_linux_4_3_2.sh`安装脚本。 2. **设置环境变量**:将JProfiler的安装路径设为`/opt/jprofiler4`,并通过命令`cd /opt/jprofiler4`进入该目录。 3. **执行安装脚本**:通过命令`chmod +x *.sh`给予安装脚本可执行权限,然后运行`./jprofiler_linux_4.3.2.sh -c`来安装JProfiler,其中`-c`参数表示在没有图形界面的情况下进行安装。 #### 配置与集成 为了能够使用JProfiler监控JBoss的应用运行状态,需要进行以下配置: 1. **修改系统环境变量**:添加`LD_LIBRARY_PATH`环境变量,指向JProfiler的库文件所在目录`$JPROFILER_HOME/bin/linux-x8664`(或`$JPROFILER_HOME/bin/linux-x64`)。 2. **配置JBoss启动参数**:在JBoss的启动脚本中添加JProfiler的代理库和监听端口等配置信息,例如: ```bash JAVA_OPTS="-agentlib:jprofilerti=port=8849 -Xbootclasspath/a:$JPROFILER_HOME/bin/agent.jar" ``` 上述命令指定了JProfiler的监听端口为8849,并指定了JProfiler代理库的路径。同时,确保`JAVA_HOME`和`JBOSS_HOME`等环境变量正确配置。 #### 使用JProfiler监控JBoss实例 接下来介绍如何使用JProfiler来监控远程JBoss实例的具体操作步骤: 1. **启动JProfiler**:启动JProfiler GUI客户端。 2. **创建新的会话**:选择`Session -> Integration Wizard -> New Remote Integration`选项。 3. **指定远程计算机**:选择“在远程计算机上”并指定远程平台为Linux x86/AMD64。 4. **输入IP地址**:填写远程JBoss服务器的IP地址。 5. **指定JProfiler安装路径**:输入JProfiler在远程计算机上的安装路径,如`/opt/jprofiler4`。 6. **选择JDK版本**:选择与远程JBoss服务器匹配的JDK版本,比如Sun 1.5.0 HotSpot。 7. **设置监听端口**:默认情况下,JProfiler监听端口为8849。 8. **选择监控模式**:选择“等待来自JProfiler GUI的连接”,即等待客户端发起连接。 9. **确认设置**:点击Finish完成配置,此时会在左侧显示一个新创建的会话。 #### 监控与分析 一旦完成了上述配置,即可通过JProfiler GUI监控JBoss实例的状态。JProfiler提供了丰富的视图和工具,如Heap Walkthrough、Heap History、Thread Overview等,帮助用户深入理解应用的内存使用情况、CPU消耗、线程活动等。通过这些工具,可以轻松发现诸如内存泄漏、热点函数等问题,并采取相应的优化措施。 JProfiler作为一款强大的Java性能分析工具,不仅能够有效地监控JBoss的运行状况,还能帮助开发者和系统管理员快速诊断和解决问题,从而提高系统的稳定性和响应速度。
先说一下环境:
服务器:RedHat Linux 3.4.3-9.EL4(内核版本 2.6.9-5.ELsmp),JBoss 4.0.3,Sun JDK 1.5.0_08,JProfiler 4.3.2 for linux(安装包:jprofiler_linux_4_3_2.sh)
客户端:Windows XP,JProfiler 4.3.2 for windows(安装包:jprofiler_windows_4_3_2.exe)
==========================================================================================
客户端 JProfiler 安装:
直接运行安装程序即可,没啥可说的。有一点就是安装过程中,norton 曾经报警,不理他,安完之后也没发现有什么问题
==========================================================================================
服务器端 JProfiler 安装:
把 jprofiler_linux_4.3.2.sh 上传到到服务器,假设路径为 /opt/jprofiler4 (后文用 $JPROFILER_HOME指代)。用如下命令:
# cd /opt/jprofiler4
# chmod +x *.sh
# ./jprofiler_linux_4.3.2.sh -c
按照提示来安装,提示都很简单,不在多说。安装路径选择 $JPROFILER_HOME 。
注意,这里的 -c 意思是用字符方式来安装,如果机器上没有 X 则加上该参数。
==========================================================================================
服务器端的配置:
1. 修改系统配置,在 LD_LIBRARY_PATH 里加入 JProfiler 的库文件所在路径 $JPROFILER_HOME/bin/linux-x86 ,如果是 64 位服务器,则选择 $JPROFILER_HOME/bin/linux-x64。
2. 修改 JBoss 的启动脚本,加入如下参数:
-agentlib:jprofilerti=port=8849 -Xbootclasspath/a:$JPROFILER_HOME/bin/agent.jar
例如:$JAVA_HOME/bin/java $JAVA_OPTS -agentlib:jprofilerti=port=8849 -Xbootclasspath/a:/opt/jprofiler-4.3.2/bin/agent.jar -Djava.endorsed.dirs="$JBOSS_ENDORSED_DIRS" -Djava.library.path=$JBOSS_HOME/server/default/lib -classpath "$JBOSS_CLASSPATH" org.jboss.Main -c default 1>$JBOSS_CONSOLE 2>&1 </dev/null &
8849 是默认的端口号
3. 重新 login linux ,启动 jboss 。查看一下 $JBOSS_HOME/server/default/log/server.log ,可以看到 JBoss 并未启动,原因是上边的配置选择的启动模式,只有当一个 JProfiler GUI(指 Windows XP 下安装的 jprofiler ) 的监听请求发过来时候,JProfiler才会真正的启动被监控的应用程序也就是 JBoss 。另外有一种启动模式与此不同,它可以直接启动被监控的应用程序而不必等待。这种配置稍微麻烦一点,以后在说。
==========================================================================================
- diegochen2013-12-06不错,对系统实施有一定帮助
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助