JProfiler使用说明
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、简介
JProfiler是一个商业授权的Java剖析工具,由EJ技术有限公司,针对的Java EE和Java SE 应用程序开发的。
JProfiler工具主要用于检查和跟踪系统(限于Java开发的)的性能。JProfiler可以通过时时的监控系统的内存使用情况,随时监视垃圾回收,线程运行状况等手段,从而很好的监视JVM运行情况及其性能。
JProfiler直觉式的GUI让你可以找到性能瓶颈、抓出内存漏失(memory leaks)、并解决执行绪的问题。它让你得以对heap walker作资源回收器的root analysis,可以轻易找出内存漏失;heap快照(snapshot)模式让未被参照(reference)的对象、稍微被参照的对象、或在终结(finalization)队列的对象都会被移除;整合精灵以便剖析浏览器的Java外挂功能。
二、安装(略)
三、配置(服务器端)(windows)
注意:此处配置为本地,即直接在服务器端测试,不在客户端测试。若想在客户端测试,服务器端也是如此配置,客户器端配置见下文。(客户端配置与服务器配置不同)
1、打开“QuickStart"对话框
Shift+F1打开“QuickStart"对话框,选择“An application server, locally or remotely”,然后“Next”
2、创建对本地tomcat的监控
3、选择启动批处理文件
4、选择JVM类型
5、选择JProfiler的监听端口
6、检查配置
7、完成
四、配置(客户端)
注意:若只想自服务器端测试,可以跳过此内容,具体步骤见上文。(服务器端配置同上,客户端。)
1、Session >> Integration Wizards >> New Remote Integration
2、选择远程监控的平台wind ows
3、选择Wait for a connect from the Jprofiler GUI
4、输入服务端ip地址
5、输入服务端机器上的jprofiler的安装路径
6、选择jdk版本
7、端口默认8849
8、提示需要的操作
附注:这个是在Jprofiler5的情况下操作,而在Jprofiler7的操作有所不同。
●在被监控的服务器端,修改服务启动文件,如果服务为TOMCAT,将startup.bat文件中
的JAVA_OPTS的后面添加第八步中copy出来的内容:
-agentlib:jprofilerti=port=8849 "-Xbootclasspath/a:D:\Program Files\jprofiler5\bin\agent.jar" 保存此文件。
●在环境变量PATH中添加第八步中copy出来的内容:
D:\Program Files\jprofiler5\bin\windows(注意前面加分号)。
9、服务器端运行startup_jprofiler.bat
在tomcat的bin文件夹下,例如D:\nsoft\tomcat 5.5\bin
五、功能说明
1、内存剖析Memory profiler
1.1、所有对象(All Object)
显示类或在状况统计和尺码信息堆上所有对象的包。你可以标记当前值并显示差异值。
1.2、记录对象(Record objects)
显示类或所有已记录对象的包。你可以标记出当前值并且显示差异值。
1.3、分配访问树(Allocation call tree)
显示一棵请求树或者方法、类、包或对已选择类有带注释的分配信息的J2EE组件。
1.4、分配热点(Allocation hot spots)
显示一个列表,包括方法、类、包或分配已选类的J2EE组件。你可以标注当前值并且显示差异值。对于每个热点都可以显示它的跟踪记录树。
2、堆遍历Heap walker
在JProfiler的堆遍历器(Heap walker)中,你可以对堆的状况进行快照并且可以通过选择步骤下寻找感兴趣的对象。堆遍历器有五个视图:
2.1、类(Classes)
显示所有类和它们的实例。
2.2、分配(Allocations)
为所有记录对象显示分配树和分配热点。
2.3、索引(References)
为单个对象和“显示到垃圾回收根目录的路径”提供索引图的显示功能。还能提供合并输入视图和输出视图的功能。
2.4、数据(Data)
为单个对象显示实例和类数据。
2.5、时间(Time)
显示一个对已记录对象的解决时间的柱状图。
3、CPU 剖析CPU profiler
JProfiler 提供不同的方法来记录访问树以优化性能和细节。线程或者线程组以及线程状况可以被所有的视图选择。所有的视图都可以聚集到方法、类、包或J2EE组件等不同层上。CPU 视图部分包括
3.1、访问树(Call tree)
显示一个积累的自顶向下的树,树中包含所有在JVM中已记录的访问队列。JDBC,JMS和JNDI 服务请求都被注释在请求树中。请求树可以根据Servlet和JSP对URL的不同需要进行拆分。
3.2、热点(Hot spots)
显示消耗时间最多的方法的列表。对每个热点都能够显示回溯树。该热点可以按照方法请求,JDBC,JMS和JNDI服务请求以及按照URL请求来进行计算。
3.3、访问图(Call graph)
显示一个从已选方法、类、包或J2EE组件开始的访问队列的图。
4、线程剖析Thread profiler
对线程剖析,JProfiler提供以下视图
4.1、线程历史(Thread history)
显示一个与线程活动和线程状态在一起的活动时间表。
4.2、线程监控(Thread monitor )
显示一个列表,包括所有的活动线程以及它们目前的活动状况。