http://www.iteye.com/topic/72256
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 占用的内存情况。
初次发帖,请多指教。
分享到:
相关推荐
为了能够使用JProfiler监控JBoss的应用运行状态,需要进行以下配置: 1. **修改系统环境变量**:添加`LD_LIBRARY_PATH`环境变量,指向JProfiler的库文件所在目录`$JPROFILER_HOME/bin/linux-x8664`(或`$JPROFILER_...
JProfiler不仅支持对常规Java应用、Applet、Java Web Start应用的监控,还能对运行在远程服务器上的应用服务器如JBoss和Tomcat进行性能监控。 【安装部署】JProfiler8的安装过程相对简单,包括在监控端和服务器端...
jProfiler是一款功能强大的Java性能分析工具,能够帮助开发者对Java应用程序进行性能监控、内存泄漏检测、线程分析等工作。它支持多种操作系统环境,包括Linux和Windows。本文将详细介绍如何在Linux和Windows系统上...
总结,利用JConsole监控JBoss性能是Java应用运维中的基础技能,它能帮助我们及时发现问题,提升系统性能。同时,结合JProfiler等专业工具,我们可以进一步深入到代码层面,进行更精细化的性能优化。了解并熟练掌握...
- **监控工具**:使用JProfiler、VisualVM等工具对CPU、内存、线程进行监控,找出性能瓶颈。 7. **集群与高可用性** - **集群配置**:通过配置多个JBoss实例组成集群,实现负载均衡和故障转移,提高系统可用性。 ...
通过其丰富的视图和报告功能,开发者能够深入理解应用的内存管理、线程交互以及CPU资源的使用情况,从而制定出针对性的优化策略。 总之,JProfiler作为一款全面的Java剖析工具,提供了一整套解决方案来提升Java应用...
3. **热部署**:JBoss支持热部署,即在不中断服务的情况下更新应用程序,降低了系统维护成本。 4. **管理工具**:通过JMX(Java Management Extensions),JBoss提供了一套完整的管理工具,用于监控和管理服务器...
- **Profiler工具**:使用VisualVM或JProfiler等工具进行性能分析,识别瓶颈。 通过学习和使用这个压缩包中的内容,开发者和运维人员不仅可以深入了解JBoss EAP 6.3.0的工作机制,还能掌握Java EE应用程序的开发、...
当遇到部署问题、启动失败或性能瓶颈时,学会分析日志、使用JProfiler等工具进行诊断,将有助于快速定位和解决问题。 总的来说,【JBoss学习全集多本书整合】提供了全面的JBoss知识,无论你是初学者还是经验丰富的...
3. **nmon_analyser**:提供服务器资源的详细报告,包括CPU、内存、网络和I/O的使用情况。 通过上述指标和工具,性能测试能够有效地评估系统的性能表现,为优化和故障排查提供数据支持,从而确保系统的高效、稳定...
10. **性能监控**:如果问题与性能有关,可以使用性能分析工具监测CPU、内存和网络使用情况。 解决这类问题通常需要耐心和对Java EE架构的深入理解,通过逐步排查和测试,最终找到解决方案。如果问题过于复杂,可能...
使用YourKit JProfiler,开发者可以进行远程和本地连接,支持多种Java应用服务器,如Tomcat、JBoss、WebLogic等。通过这些功能,开发者能够深入理解代码运行时的情况,从而提高应用程序的性能和响应速度。总的来说,...
通过`jstat -gc`参数,我们可以获取关于GC的详细信息,包括年轻代和老年代的内存使用情况。 `jmap`是另一个强大的工具,它可以打印出Java进程的内存映射或者生成堆内存转储文件。`-heap`选项可以查看堆内存的详细...
会用到各种工具,如IDE(如IntelliJ IDEA或Eclipse)、构建工具(如Maven或Gradle)、测试框架(如JUnit、TestNG)、持续集成工具(如Jenkins、GitLab CI/CD)以及日志分析和性能监控工具(如Log4j、JProfiler)等。...
如使用JRebel或Jboss Modules,可以在不重启服务器的情况下更新代码,提高开发效率。 9. **类加载机制**: 了解并合理利用Java的双亲委派模型,可以避免类加载冲突,提高系统运行效率。 10. **日志优化**: ...
- 使用JProfiler、VisualVM等工具监控和分析内存使用情况。 通过深入理解和熟练掌握这些Tomcat面试知识点,不仅能应对面试中的技术问题,还能在实际工作中更好地优化和管理Tomcat服务器,提升Web应用的性能和稳定...
它允许Java程序在不同平台上运行而无需重新编译。字节码增强技术(Bytecode Instrumentation,简称BCI)则是在字节码级别对Java类进行修改或增强的一种方法,这种技术可以用于性能监控、代码优化、面向切面编程等多...
8. **监控和性能分析**:使用如JMX(Java Management Extensions)进行系统监控,通过JProfiler、VisualVM等工具进行性能分析,可以帮助定位性能瓶颈,指导优化方向。 9. **微服务架构**:随着微服务理念的流行,将...
10. **性能监控与调优**:使用JVisualVM、JProfiler等工具对J2EE应用程序进行性能分析,找出瓶颈并进行优化,确保系统在高负载下的稳定性和响应速度。 通过《J2EE企业级应用测试实践》的源代码,读者可以实践上述...