常用Java Profiling工具的分析与比较 - 编程入门网
和,即该对象被 GC 之后所能回收到内存的总和)。
最大对象列表:包含了 retained 大小排前的一些对象。 有可能存在内存泄漏的对象列表:包含了有可能存在内存泄漏的对象以及可能性大小。 YourKit Java Profiler:与 CodePro Profiler 相比,缺少内存泄露对象列表这一项。 JProfiler:与 CodePro Profiler 相比,缺少 retained size 统计数据及内存泄露对象列表。 源代码定位功能,即在快照中选中某个类、成员变量或者方法时,可以在源代码中定位到对应的定义。 TPTP:只能定位到某个类,无法定位到方法或其中的成员变量。 CodePro Profiler: 拥有该功能,但是只能定位到类及成员变量,无法定位到方法。 YourKit Java Profiler:可以定位到类、成员变量及方法。 JProfiler:与 CodePro Profiler 类似。 常用Java Profiling工具的分析与比较(6)时间:2012-02-26 IBM 周鹏 徐晓琴快照操作,主要从快照的获取、快照的保存及快照的比较这三方面进行比较。 TPTP:当应用程序启动后,用户可以选择在适当的时候进行快照获取;这些快照不会自动保存,因此当 eclipse 关闭后,这些快照数据将会消失,但是用户可以通过 export 的方式将需要的快照保存下来。 CodePro Profiler: 当应用程序启动后,用户可以选择在适当的时候进行快照获取;这些快照会被自动保存在 Eclipse Workspace 之外的一个临时的空间,当 eclipse 关闭后,这些快照将会消失,用户可以通过 export 的方式将需要的快照保存下来;CodePro Profiler 还提供了快照的比较功能,不过前提是这两个快照的类型必须相同(例如:都是以 sampling 模式或 BCI 模式运行的)。 YourKit Java Profiler:当应用程序启动后,用户可以选择在适当的时候进行快照获取,针对内存快照,YourKit Java Profiler 还提供了自动获取快照的功能;这些快照会被自动保存到一个临时的文件夹中,eclipse 关闭后,这些文件不会消失;另外,YourKit Java Profiler 也提供了快照比较功能。 JProfiler:工具会要求你指定一个目录来保存该 snapshot。 性能,在 sampling 模式下,这些工具的性能相差不大,这里主要比较在 BCI 模式下的性能。 TPTP:目前使用的 4.6.2 的版本没有 BCI 模式。 CodePro Profiler:当程序比较大的情况下,采用 BCI 模式进行 profiling 的速度比较慢;另外,在获取内存泄露候选者的时候,速度也是相当慢。(当程序代码量 5 万行时,用 CodePro Profiler 进行 Profiling 需要 5 分钟,在获取内存泄露候选者时,需要花费 20 分钟) YourKit Java Profiler:BCI 模式下的运行速度还可以。(当程序代码量为 5 万行时,需要 1 分钟) JProfiler:感觉不出程序运行速度受影响。(当程序代码量为 5 万行时,需要半分钟) 健壮性,采用 CodePro Profiler 对比较大的应用程序进行 profiling 时,很容易出现栈溢出的错误。 结论 TPTP 是一款基于 eclipse 的开源软件,且提供的功能比较简单,因此适用于基于 eclipse 开发的应用程序,且该应用程序比较简单的情况;Codepro Profiler 提供的功能相对来说比较丰富,且与 eclipse 的集成性很好,但是在性能方面有待改善,因此适用于基于 eclipse 开发的应用程序,且对性能要求不高的情况;YourKit Java Profiler,JProfiler 与 Eclipse 的集成性都属于一般,提供的功能也比较丰富,且性能不错,因此适用于对 eclipse 集成度要求不高,且对性能要求较高的情况。 |
凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |