论坛首页 Java企业应用论坛

使用 JProfiler 监控 JBoss 运行情况

浏览 22604 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
作者 正文
   发表时间:2007-04-18  
JProfiler 是一个著名的用于 java 系统监控分析的软件,功能很强大,可以监控普通的 java application, applet, java web start, application server 等等。除了可以监控本地的程序,还可以对远程服务器上跑的应用进行监控。本文以 JBoss 为例,对 JProfiler 的安装、配置和使用做个简单介绍。

先说一下环境:
  服务器: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 。另外有一种启动模式与此不同,它可以直接启动被监控的应用程序而不必等待。这种配置稍微麻烦一点,以后在说。
==========================================================================================
客户端的配置和使用:
  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/jprofiler4 ;next
  6. 选择服务器的 JDK 环境,这里是:Sun,1.5.0,hotspot;next
  7. 输入端口:这里是默认值 8849;next
  8. 选择启动模式:这里选第一种 wait for a connection from the jprofiler GUI;next
  9. 这里会列出需要在服务器端做的配置。上一步“服务器端的配置”我们已经做过了。如果在第 8 步选择了第二种启动方式 Don't wiat, start immediately ,这里也会列出相应的服务器端配置方法,可以参考。next
  10. Finish

此时 session 会被启动。在 profiling settings 对话框里,不用做任何修改,ok 即可。此时 session 被启动。观察一下服务器,发现 JBoss 也启动了。这时就可以在客户端看到 jboss 的运行情况,比如内存的占用等等。

我用 jprofiler 主要是监控内存占用情况看是否有 member leak 。点左侧的 “VM Telemetry Views”可以看到 jboss 占用的内存情况。

初次发帖,请多指教。
 
   发表时间:2007-04-19  
这样就结束了?

哎………………

不如ROBBIN哪天组织下,大家把JPROFILER的HELP翻译出来好了。
0 请登录后投票
   发表时间:2007-04-25  
他和 jprobe哪个好??


我更喜欢JProfiler ,比jprobe简洁 美观,感觉速度也快点

大家怎么看呢??
0 请登录后投票
   发表时间:2007-04-28  
jprobe没有用过

JProfiler功能确实很强大,极其牛X,绝对的内存泄露终结者。

可惜正版太贵。
0 请登录后投票
   发表时间:2007-04-28  
sg552 写道
jprobe没有用过

JProfiler功能确实很强大,极其牛X,绝对的内存泄露终结者。

可惜正版太贵。



申请一次用15天吧,用完再申请咯

JProfiler网站上有3个FLASH,如果看了那个还不会用,翻译文档也没用~~
0 请登录后投票
   发表时间:2007-05-10  
我也刚在用,很直观,可以看系统的资源使用情况!
0 请登录后投票
   发表时间:2007-05-10  
jprofiler,性能极为低下,在线上测试,平均可以耗掉50%以上的CPU占用!根本没法测出真实压力情况!
建议还是采用jrocket作为服务器JVM,它在性能调优及查看是否内存泄露方面,比较优秀!
0 请登录后投票
   发表时间:2007-06-20  
jrocket 能和 websphere一起吗???
也就是说 替换掉 ibm的jdk??
0 请登录后投票
   发表时间:2008-04-17  
感觉JProfiler很不错,jrocket简单用过一下,也很好!!!
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics