洞悉Java应用性能瓶颈的利器:Visual Performance Analyzer - 编程入门网
okstore。
清单 4. runjprof:calltree
然后,打开图书索引文件。 文件读取结束后,关闭 bookstore 小程序。 在当前目录生成了一个 log-rt.xxx文件。将这个文件重命名为 log-rt.xxx.jprof,Call Tree Analyzer 就可以打开这个 Call Tree 文件。 分析采样结果 使用 VPA 打开采样数据文件,VPA 会根据性能数据的文件类型,自动打开相应的性能分析工具。VPA 提供了大量图型的和文字的视图,帮助用户从不同角度分析性能采样。 分析抽样结果 使用 Profile Analyzer 分析 Java 程序的性能问题时,编辑器、Source Code 视图和 Java Hierarchy 视图是比较常用的控件。 编辑器可以帮助用户找到 Ticks 最多的方法。如图 2,tprof_e.out 打开后,编辑器按照"Process > Module"或者"Process > Thread >Module"等不同分层模式以树状结构列出了采样到的进程、 线程和模块。JITCODE 模块是 Java 进程中 Ticks 最多的模块,而 BestAuthor$1.valueChanged 方法是 JITCODE 模块中 Ticks 最多的方法。 图 2. Profile Analyzer 的编辑器 洞悉Java应用性能瓶颈的利器:Visual Performance Analyzer(5)时间:2011-10-16 IBM 陈沁悦Source Code 视图可以帮助用户找到 Ticks 最多的代码行。在编辑器中双击方法 BestAuthor$1.valueChanged,VPA 会弹出对话框询问这个方法相应的源文件。如图 3,为方法 BestAuthor$1.valueChanged 指定源文件后,通过 Source Code 视图,可以找到 Ticks 最多的代码行。 这样的代码行很有可能是程序的性能瓶颈。 图 3. Source Code 视图 通过"Java Hierarchy"视图,用户可以按照 Java 方法所属的包和类逐层浏览这些被采集到的 Java 方法。如图 4,Java Hierarchy 视图的右侧表格中列出了包 bookstore.ui 下所有被采样到的方法。 图 4. Java Hierarchy 视图 洞悉Java应用性能瓶颈的利器:Visual Performance Analyzer(6)时间:2011-10-16 IBM 陈沁悦分析方法调用树 Call Tree Analyzer 提供了编辑器、Method Overview 视图、Call Stack 视图等控件。 如图 5,编辑器以方法调用树和执行图的方式来展现 JProf 文件。 图 5. 方法调用树和执行图 "Method Overview"视图列出了方法调用树中所有的方法。如图 6,点击 RAW_CYCLES 列,"Method Overview"按照方法自身消耗时间长短对方法列表进行排序。方法自身消耗时间很长的方法很有可能是性 能瓶颈。 图 6. Method Overview 视图 在"Method Overview"视图中,双击 BookReader.startElement 方法,Call Stack 视图会显示 BookReader.startElement 方法的调用堆栈。通过图 7 中的调用堆栈,用户可以了解到 BookReader.startElement 方法是怎样被调用的。 图 7. Call Stack 视图 洞悉Java应用性能瓶颈的利器:Visual Performance Analyzer(7)时间:2011-10-16 IBM 陈沁悦在"Call Stack"视图中,双击 BookReader.startElement 方法,可以在 Call Tree 中定位到这个方 法。如图 8,用户通过浏览 Call Tree,可以更清楚地了解 BookReader.startElement 方法的上下文。 图 8. 在 Call Tree 中定位 BookReader.startElement 方法,
下载
|
||||||||||||
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |