JProfiler在Red5上的安装和使用
jprofiler监控工具使用说明

JProfiler安装部署说明JProfiler是一个全功能的Java剖析工具(profiler),专用于分析J2SE和J2EE应用程序。
它把CPU、执行绪和内存的剖析组合在一个强大的应用中。
JProfiler可提供许多IDE整合和应用服务器整合用途。
JProfiler直觉式的GUI让你可以找到效能瓶颈、抓出内存漏失(memory leaks)、并解决执行绪的问题。
它让你得以对heap walker作资源回收器的root analysis,可以轻易找出内存漏失;heap快照(snapshot)模式让未被参照(reference)的对象、稍微被参照的对象、或在终结(finalization)队列的对象都会被移除;整合精灵以便剖析浏览器的Java外挂功能,JProfiler功能很强大,可以监控普通的java application, applet, java web start, application server 等。
除了可以监控本地的程序,还可以对远程服务器上跑的应用进行监控。
目前JProfiler最新版本是6.0,由于JProfiler需要注册码,网上找到的资源中windows、linux都破解的只有4.3.2版本,这次就使用这个版本进行说明。
最新版下载连接/download/jprofiler/files.php。
一、安装说明在监控端安装windows版的jprofiler4,在服务器端安装linux版的jprofiler4。
windows下安装:点击exe文件进行安装,安装后使用文件中的注册码进行注册linux下服务端安装:直接解压即可二、配置对java application的监控下面以JProfiler监控远程应用程序为例,来说明对远程应用程序监控的配置方法:一、首先启动JProfiler,出现quick start对话框,选择An application on a remote computer,next,如下图:二、有2个选项,on this computer和on a remote computer,这里是选择被监控的程序的位置,这里选择on a remote computer,同时选择远程机器的类型是windows还是linux等,如下图:三、填写远程机器地址,这里是192.168.9.53,如下图:四、填写远程机器JProfiler的安装地址,我这里是/home/sps/jprofiler4,如下图:五、选择远程机器的java运行环境,这里是sun\1.5.0\hotspot,如下图:六、默认监控端口8849,如下图:七、Wait for ……为了在开发环境中获取监控的信息,它将等待远程计算机上的Jprofile GUI 启动,并和本机建立连接,这种方式比较便于修改jprofiler的配置信息。
JProfiler在Linux上的安装和使用

JProfiler在Linux上的安装和使用一前言前段时间网厅web服务老是OutOfMemoryError,查找了一些网站,找到一个应用监控工具JProfiler,可以在本地机器上监控远程服务器上的应用。
搭建环境的时候遇到了一些问题,也查找了网上的一些资源,但都不太全面,现把自己的安装和使用过程记录下来,方便后来人使用。
二环境介绍服务器端操作系统:linux RedHat AS 5应用服务器:WebLogic 9.2java虚拟机版本:1.5.0.07jprofiler版本:jprofiler_linux_5_1_4.sh(在csdn可以下载到)客户端操作系统:Windows Xp SP2Jprofiler5.1.4 for windows(安装包:jprofiler_windows_5_1_4.exe在csdn 可以下载到)三客户端JProfiler安装及配置1.打开本地jprofiler1-1 图1-1使用向导,我们可以选择Cancel2.1-2选择session->Integration wizards->New Remote Integration 3.1-31)The profiled application is located选择On a remote computer2)Platform of the remote computer选择Linux X86/AMD643)Next4.1-4 Remote address中写入所要监控的服务器IP地址51-5Installation directory中写入jprofiler在服务器中的路径,比如/opt/jprofiler5(此路径为远程服务器上jprofiler的安装路径)61)1-6-12)JVM Vendor选择Sun1-6-2Version 选择1.5.0,如果服务器操作系统是64位,需要勾选64bit jvm 3)Next71-7 JProfiler port :写入8849 默认81-8 选择Wait for a connection from the JProfiler GUI91-9红框中内容设置环境变量时使用。
Jprofiler使用方法

Jprofiler使⽤⽅法Jprofiler使⽤⽅法1、说明改善Java服务器的性能需要模拟负载下的服务器。
创建⼀个模拟环境、搜集数据并且分析结果可能是对许多开发⼈员的挑战。
这⾥介绍了使⽤JProfiler跟踪分析Java服务器的性能。
简单的性能问题很容易分离并解决,然⽽,⼤的性能问题,如内存溢出或者系统的罢⼯,通常在系统处于⾼负载情况下发⽣,就不能这么简单的处理了。
这些问题需要⼀个独⽴的测试环境、⼀个模拟的负载,并且需要仔细地分析和跟踪。
2、改善服务器的性能服务器的性能改善是依赖于数据的。
没有可靠的数据基础⽽更改应⽤或环境会导致更差的结果。
分析器提供有⽤的Java服务器应⽤信息,但由于从单⽤户负载下的数据与多⽤户负载下得到的数据是完全不同的,这导致分析器的数据并不精确。
在开发阶段使⽤分析器来优化应⽤的性能是⼀个好的⽅式,但在⾼负载下的应⽤分析可以取到更好的效果。
在负载下分析服务器应⽤的性能需要⼀些基本的元素:1、可控的进⾏应⽤负载测试的环境。
2、可控的⼈造负载使得应⽤满负荷运⾏。
3、来⾃监视器、应⽤和负载测试⼯具⾃⾝的数据搜集。
4、性能改变的跟踪。
不要低估最后⼀个需求(性能跟踪)的重要性因为如果不能跟踪性能你就不能实际的管理项⽬。
性能上10-20%的改善对单⽤户环境来说并没有什么不同,但对⽀持⼈员来说就不⼀样了。
20%的改善是⾮常⼤的,⽽且通过跟踪性能的改善,你可以提供重要的反馈和持续跟踪。
虽然性能跟踪很重要,但有时为了使后续的测试更加精确⽽不得不抛弃先前的测试结果。
在性能测试中,改善负载测试的精确性可能需要修改模拟环境,⽽这些变化是必须的,通过变化前后的负载测试你可以观察到其中的转变。
3、分析器原理现在⼏乎所有的分析器都是从同⼀个起点和约束开始的:Java 虚拟机分析器界⾯(JVMPI) (参考"The Java Virtual Machine Profiler Interface")。
JProfiler使用指南

目录1.总述 (2)1.1JProfiler安装配置和使用说明 (2)1.2JProfiler安装准备 (2)1.3安装介质 (2)1.4序列号 (3)2.JProfiler Windows端安装与配置 (3)2.1安装 (3)2.2运行JProfiler并进行配置 (3)2.3Linux上Weblogic Server配置 (5)3.案例分析 (8)3.1问题描述 (8)3.2Web应用服务器的物理部署 (9)3.3Web应用服务器启动脚本中的内存参数 (9)3.4Web应用服务器的重要部署参数 (9)3.5实例详细分析 (10)4.总结 (26)1.总述在中间件应用服务器的整体调优中,有关于等待队列、执行线程,EJB池以及数据库连接池和Statement Cache方面的调优,这些都属于系统参数方面的调优,本文主要从另外一个角度,也就是从应用的角度来解决中间件应用服务器的内存泄露问题,从这个角度来提高系统的稳定性和性能。
1.1JProfiler安装配置和使用说明JProfiler是一个全功能的Java剖析工具(profiler),专用于分析J2SE和J2EE应用程序。
JProfiler直觉式的GUI让你可以找到性能瓶颈、抓出内存泄漏(memory leaks)、并解决多线程的问题。
通过它可以对heap walker作资源回收器的root analysis,可以轻易找出内存漏失;heap快照(snapshot)模式让未被参照(reference)的对象、稍微被参照的对象、或在终结(finalization)队列的对象都会被移除。
1.2JProfiler安装准备1.3安装介质Jprofiler5.1.4目前支持的操作系统包括:aix-ppc、aix-ppc64、hpux-parisc、hpux-parisc64、linux-x64、linux-x86、windows、windows-64。
安装介质见附件(一)。
jprofiler使用方法

点完OK按钮之后,会自动弹出tomcat启动的dos窗口,这个 窗口不能关闭,关闭之后,tomcat和jprofiler就停了。
这个视图会给出,虚拟中的对象实 哪里创建的,用这个基本上就能确 是哪里内存泄露了。
这个视图时看虚拟机垃圾回收的工作状态的。
这个视图时看虚拟机垃圾回收的工作状态的。
选中想要监控的对象,右键,现则“add Selection to Class tracker”
点这个加号按钮也能添加要监控的对象。
这个视图是 某个对象个实例个数,和时间的一个二 维表。
这个按钮千万不能点,监控时间稍微长 点,时间轴数据一多容易,死机。 如果监控了半天,你点了这个,估计这 半天的监控数据就白费了。
这个就是jprofer
连续按几次这个刷新按钮,之 后,随便找一个
红色部分就是做Mark时到现在的对象的增加量, 你主要关注的就是,你们的自定义对象是不是 有,一直增加,回收不下去的。 做完mark之后,过一段时间你看看,这个视图, 看这个试图前一定要连续点击“刷新”,这个 刷新强制虚拟机会后垃圾。
给出,虚拟中的对象实例是都是 ,用这个基本上就能确定,具体
jprofer的主界面了。
监控的对象。
个数,和时间的一个二
,监控时间稍微长 容易,死机。 源自了这个,估计这
Windows下Red5安装与配置文档

Windows下Red5安装与配置RED5简介Red5是一个采用Java开发开源的Flash流媒体服务器。
它支持:把音频(MP3)和视频(FLV)转换成播放流;录制客户端播放流(只支持FLV);共享对象;现场直播流发布;远程调用。
Red5使用RSTP作为流媒体传输协议,在其自带的一些示例中演示了在线录制,flash流媒体播放,在线聊天,视频会议等一些基本功能。
软件环境既然是Java开发的,自然少不了要安装JDK,这里使用的是JDK1.6版本,Red5用的是1.0.1版本,Red5内嵌了Tomcat6.x服务器。
以下是Red5和Flowplayer3.2.x下载地址。
Red5:/downloads/Flowplayer:/download/软件安装与环境配置1.安装JDKJDK这里使用的是1.6版本,最常用,与Red5搭配更好。
可以自行修改安装路径,这里默认。
安装完毕后设置环境变量:JAVA_HOME,PATH和CLASSPATH。
1,新建变量名:JAVA_HOME,变量值:C:\Program Files\Java\jdk1.6.0_21 2,打开PATH,添加变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin 3,新建变量名:CLASSPATH,变量值:(注意此处以.;开始,英文状态).;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar备注:1,.表示当前路径,%JAVA_HOME%就是引用前面指定的JAVA_HOME;2,JAVA_HOME指明JDK安装路径,此路径下包括lib,bin,jre等文件夹,tomcat,eclipse等的运行都需要依靠此变量。
3,PATH使得系统可以在任何路径下识别java命令。
4,CLASSPATH为java加载类(class or lib)路径,只有类在classpath中,java 命令才能识别。
JProfiler使用说明

JProfiler使用说明(版本号1.0)2008年1月第 1 页共 80 页文档更改历史记录序号 主要更改内容 版本号 更改人 更改时间1 建立文档 1.0 2008-01-11 23456789第 2 页共 80 页目录1JPROFILER'S START CENTER (5)1.1O PEN SESSION (5)1.2N EW SESSION (6)1.2.1New Session (6)1.2.2New server integration (7)1.3C ONVERT SESSION (17)1.4O PEN SNAPSHOT (17)2管理SESSION (18)2.1A PPLICATION SETTINGS DIALOG (18)2.1.1session名 (18)2.1.2session类型 (18)2.2P ROFILING SETTINGS (20)2.2.1Adjusting call tree collection options (20)2.2.2JA V A 子系统 (23)3监测视图 (27)3.1内存视图 (27)3.1.1所有对象(ALL objects) (28)3.1.2记录的对象(Recorded objects) (29)3.1.3分配调用树(Allocation call tree ) (29)3.1.4分配热点视图(Allocation hot spots view) (29)第 3 页共 80 页3.1.5类跟踪(Class tracker) (30)3.2CPU视图 (30)3.2.1调用树视图(Call tree view) (30)3.2.2热点视图(Hot spot view) (33)3.2.3调用图(Call graph) (34)3.3线程视图 (40)3.3.1线程历史视图 (40)3.3.2线程监控视图 (41)3.3.3死锁检测图形 (43)3.3.4当前监控使用视图 (43)3.3.5监控使用历史视图 (44)3.3.6监控使用统计 (44)3.4VM遥感监测视图 (45)3.4.1Heap (45)3.4.2Objects (45)3.4.3Garbage collector (45)3.4.4Classes (45)3.4.5Threads (45)4IDE集成(ECLIPSE 3.X) (46)第 4 页共 80 页1JProfiler's start center使用JProfiler's start center,你可以创建新的会话,编辑已有会话或者打开已保存的会话。
JProfiler使用入门

JProfiler使用入门(一)——准备工作JProfiler是一个全功能的Java剖析工具(profiler),主要用于检查和跟踪系统(限于Java开发的)的性能。
JProfiler可以通过时时的监控系统的内存使用情况,随时监视垃圾回收,线程运行状况等手段,从而很好的监视JVM运行情况及其性能。
它把CPU、线程和内存的剖析组合在一个强大的应用中。
JProfiler可提供许多IDE整合和应用服务器整合功能。
本文旨在通过简单的例子带领大家进入JProfiler的世界。
我也是刚刚学习哦,大家要是有鸡蛋的话留着吃就好了,现在鸡蛋好贵的^o^1、建立JBoss测试用例打开JProfiler显示QuickStart对话框,选择An application server,locally or remotely,如下图:2、选择服务器点击Next进入“服务器选择”对话框,选择JBoss 4.x,如下图3、选择启动脚本点击Next进入“启动脚本选择”对话框,输入JBoss启动脚本(run.bat)的路径,如下图:4、选择JVM的厂商、版本和模式点击Next进入“JVM选择”对话框,我们选择Sun公司的hotspot 1.4.2,如下图:5、输入JProfiler的端口号点击Next进入“JProfiler端口输入”对话框,我们保持默认不变,如下图:6、选择JBoss是否在连接到JProfiler后再启动JBoss点击Next进入“JBoss是否在连接到JProfiler后再启动”页面,这里我们保持默认选择,即在JBoss连接到JProfiler后再启动JBoss,如下图:7、确认配置点击Next进入“确认配置”对话框,确认配置是否正确,如下图,如果不正确点击Back到相应对话框进行修改。
8、配置完成点击Next进入“完成配置”对话框,点击finish完成配置,并启动JBoss服务器,控制台界面如下图:到这里JProfiler就建立起了一个简单的测试用例,后面的文章中我会陆续向大家介绍JProfiler如何测试一些具体例子。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
JProfiler在red5上的安装和使用
服务器端:
操作系统:linux redhat5
应用服务器:tomcat6
java虚拟机版本:java version "1.6.0_19"
jprofiler版本:jprofiler_linux_4_3_2_with_jre.rpm
客户端:
操作系统:Windows Xp SP2
Jprofiler4.3.2 for windows(安装包:
jprofiler_windows_4_3_2_with_jre.exe)
安装:
Windows下安装:
在windows下安装全部为默认就好
服务器安装:
1.把jprofiler cp 到服务器上
2.如果安装包为.rpm,先执行apt-get install rpm;
3.安装jprofiler:rpm –ivh jprofiler_linux_4_3_2.rpm
4.如果安装包为.sh,直接执行就行(没有图形界面也用silence安装,有提示)Windows端配置
1.打开本地jprofiler
1-1 图1-1使用向导,我们可以选择Cancel
2.
1-2
选择session->Integration wizards->New Remote Integration 3.
1-3
1)The profiled application is located选择On a remote computer
2)Platform of the remote computer选择Linux X86/AMD64
3)Next
1-4 Remote address中写入所要监控的服务器IP地址
5
1-5 Installation directory中写入jprofiler在服务器中的路径
1)
1-6-1 2)JVM Vendor选择Sun
3)Next
JProfiler port :写入8849
8
1-8 选择Wait for a connection from the JProfiler GUI
1-9
服务器端配置
---------------------------------------------------------------------------------------------
把windows端tomcat bin目录中生成的startup_jprofiler.sh文件,上传到linux服务器端
tomcat bin目录中
把windows C:\Documents and Settings\lqw\.jprofiler4目录下的config.xml文件,上传到服务器端/opt/jprofiler4目录下。
把服务器端tomcat bin目录下的startup_jprofiler.sh修改为可执行文件:
chmod 777 startup_jprofiler.sh
启动服务器端tomcat bin目录下的startup_jprofiler.sh
出现下列信息,表示配置成功
[root@localhost bin]# ./startup_jprofiler.sh
Using CATALINA_BASE: /root/software/tomcat6
Using CATALINA_HOME: /root/software/tomcat6
Using CATALINA_TMPDIR: /root/software/tomcat6/temp
Using JRE_HOME: /usr/java/jdk1.6.0_19
Using CLASSPATH: /root/software/tomcat6/bin/bootstrap.jar
JProfiler> Protocol version 23
JProfiler> Using JVMTI
JProfiler> 32-bit library
JProfiler> Don't wait for frontend to connect.
JProfiler> Using config file /opt/jprofiler4/config.xml (id: 114)
JProfiler> Listening on port: 8849.
JProfiler> Native library initialized
JProfiler> Using dynamic instrumentation
JProfiler> Time measurement: elapsed time
JProfiler> CPU profiling enabled
JProfiler> Hotspot compiler enabled
JProfiler> Starting org/apache/catalina/startup/Bootstrap ...
打开windows端,开始监控,运行结果
Session---》open session
找到刚刚配置的session ,open
点击OK进入
功能简介
1.内存剖析Memory profiler
JProfiler 的内存视图部分可以提供动态的内存使用状况更新视图和显示
关于内存分配状况信息的视图。
所有的视图都有几个聚集层并且能够显示现有存在的对象和作为垃圾回收的对象。
∙所有对象
显示类或在状况统计和尺码信息堆上所有对象的包。
你可以标记当前
值并显示差异值。
∙记录对象 Record objects
显示类或所有已记录对象的包。
你可以标记出当前值并且显示差异值。
∙分配访问树 Allocation call tree
显示一棵请求树或者方法、类、包或对已选择类有带注释的分配信息
的J2EE组件。
∙分配热点 Allocation hot spots
显示一个列表,包括方法、类、包或分配已选类的J2EE组件。
你可以
标注当前值并且显示差异值。
对于每个热点都可以显示它的跟踪记录
树。
2.堆遍历Heap walker
在JProfiler的堆遍历器(Heap walker)中,你可以对堆的状况进行快照并且可以通过选择步骤下寻找感兴趣的对象。
堆遍历器有五个视图:
∙类 Classes
显示所有类和它们的实例。
∙分配 Allocations
为所有记录对象显示分配树和分配热点。
∙索引 References
为单个对象和“显示到垃圾回收根目录的路径”提供索引图的显示功
能。
还能提供合并输入视图和输出视图的功能。
∙数据 Data
为单个对象显示实例和类数据。
∙时间 Time
显示一个对已记录对象的解决时间的柱状图。
3.CPU剖析CPU profiler
JProfiler 提供不同的方法来记录访问树以优化性能和细节。
线程或者线程组以及线程状况可以被所有的视图选择。
所有的视图都可以聚集到方法、类、包或J2EE组件等不同层上。
CPU视图部分包括:
∙访问树 Call tree
显示一个积累的自顶向下的树,树中包含所有在JVM中已记录的访问队
列。
JDBC,JMS和JNDI服务请求都被注释在请求树中。
请求树可以根据
Servlet和JSP对URL的不同需要进行拆分。
∙热点 Hot spots
显示消耗时间最多的方法的列表。
对每个热点都能够显示回溯树。
该
热点可以按照方法请求,JDBC,JMS和JNDI服务请求以及按照URL请
求来进行计算。
∙访问图 Call graph
显示一个从已选方法、类、包或J2EE组件开始的访问队列的图。
4.线程剖析Thread profiler
对线程剖析,JProfiler提供以下视图:
∙线程历史 Thread history
显示一个与线程活动和线程状态在一起的活动时间表。
∙线程监控 Thread monitor
显示一个列表,包括所有的活动线程以及它们目前的活动状况。
∙死锁探测图表 Deadlock Detection
显示一个包含了所有在JVM里的死锁图表。
∙目前使用的监测器 Current monitor useage
显示目前使用的监测器并且包括它们的关联线程。
∙历史检测记录 History usage history
显示重大的等待事件和阻塞事件的历史记录。
∙监测使用状态 Monitor usage statistics
显示分组监测,线程和监测类的统计监测数据。
5.VM 遥感勘测技术VM telemetry
观察JVM的内部状态,JProfiler提供了不同的遥感勘测视图,如下所示: ∙堆 Heap
显示一个堆的使用状况和堆尺寸大小活动时间表。
∙记录的对象 Recorded objects
显示一张关于活动对象与数组的图表的活动时间表。
∙垃圾回收 Garbage collector
显示一张关于垃圾回收活动的活动时间表。
∙类 Classes
显示一个与已装载类的图表的活动时间表。
∙线程 Threads
显示一个与动态线程图表的活动时间表。
金皮鼠。