JProfiler使用说明

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

JProfiler使⽤说明
⼀个全功能的 Java 剖析⼯具( profiler ),专⽤于分析 J2SE 和 J2EE 应⽤程序。

它把 CPU 、执⾏绪和内存的剖析组合在⼀个强⼤的应⽤中。

JProfiler 可提供许多 IDE 整合和应⽤服务器整合⽤途。

JProfiler 直觉式的 GUI 让你可以找到效能瓶颈、抓出内存漏失 (memory leaks)、并解决执⾏绪的问题。

它让你得以对 heap walker 作资源回收器的 root analysis ,可以轻易找出内存溢出; heap 快照( snapshot )模式让未被参照( reference )的对象、稍微被参照的对象、或在终结( finalization )队列的对象都会被移除;整合精灵以便剖析浏览器的Java 外挂功能。

⽬前最新的版本是 6.0 ,⼏乎⽀持所有常⽤的 IDE 和 Application Server ,可以到其 EJ 官⽅⽹站 / 下载。

、 JProfiler 特征
5.1 内存剖析 Memory profiler
JProfiler 的内存视图部分可以提供动态的内存使⽤状况更新视图和显⽰关于内存分配状况信息的视图。

所有的视图都有⼏个聚集层并且能够显⽰现有存在的对象和作为垃圾回收的对象。

所有对象显⽰类或在状况统计和尺码信息堆上所有对象的包。

你可以标记当前值并显⽰差异值。

记录对象 Record objects 显⽰类或所有已记录对象的包。

你可以标记出当前值并且显⽰差异值。

分配访问树 Allocation call tree 显⽰⼀棵请求树或者⽅法、类、包或对已选择类有带注释的分配信息的J2EE组件。

分配热点 Allocation hot spots 显⽰⼀个列表,包括⽅法、类、包或分配已选类的J2EE组件。

你可以标注当前值并且显⽰差异值。

对于每个热点都可以显⽰它的跟踪记录树。

5.2 堆遍历 Heap walker
在JProfiler的堆遍历器(Heap walker)中,你可以对堆的状况进⾏快照并且可以通过选择步骤下寻找感兴趣的对象。

堆遍历器有五个视图:
类 Classes 显⽰所有类和它们的实例。

分配 Allocations 为所有记录对象显⽰分配树和分配热点。

索引 References 为单个对象和“显⽰到垃圾回收根⽬录的路径”提供索引图的显⽰功能。

还能提供合并输⼊视图和输出视图的功能。

数据 Data 为单个对象显⽰实例和类数据。

时间 Time 显⽰⼀个对已记录对象的解决时间的柱状图。

5.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组件开始的访问队列的图。

5.4 线程剖析 Thread profiler
对线程剖析,JProfiler提供以下视图:
线程历史 Thread history 显⽰⼀个与线程活动和线程状态在⼀起的活动时间表。

线程监控 Thread monitor 显⽰⼀个列表,包括所有的活动线程以及它们⽬前的活动状况。

死锁探测图表 Deadlock Detection 显⽰⼀个包含了所有在JVM⾥的死锁图表。

⽬前使⽤的监测器 Current monitor useage 显⽰⽬前使⽤的监测器并且包括它们的关联线程。

历史检测记录 History usage history 显⽰重⼤的等待事件和阻塞事件的历史记录。

监测使⽤状态 Monitor usage statistics 显⽰分组监测,线程和监测类的统计监测数据。

5.5 VM 遥感勘测技术 VM telemetry
观察JVM的内部状态,JProfiler提供了不同的遥感勘测视图,如下所⽰:
堆 Heap 显⽰⼀个堆的使⽤状况和堆尺⼨⼤⼩活动时间表。

记录的对象 Recorded objects 显⽰⼀张关于活动对象与数组的图表的活动时间表。

垃圾回收 Garbage collector 显⽰⼀张关于垃圾回收活动的活动时间表。

类 Classes 显⽰⼀个与已装载类的图表的活动时间表。

线程 Threads 显⽰⼀个与动态线程图表的活动时间表。

相关文档
最新文档