适用于Mac OS X的Java分析器,支持标记堆

时间:2011-10-28 20:09:14

标签: java macos profiler

我想知道在我的应用程序中处理单个请求所创建的额外对象的数量。

我记得OptimizeIt曾经能够做到这一点。我记得这些步骤是:

  1. 将探查器附加到应用程序
  2. 在服务器上运行一个小负载,以便所有初始化活动发生
  3. 来自分析器的“强制GC”,它运行完整的GC
  4. “标记堆”,现在我们知道堆中每种类型的实例数
  5. 向服务器发送一个请求。
  6. 剖析器显示自上次“标记”
  7. 以来创建的对象
  8. 再次“强制GC”以查看是否有任何对象延迟
  9. OptimizeIt似乎不再被积极开发(如果我错了请纠正我),它似乎不支持Mac OS X.

    是否有其他适用于Mac OS X的Java分析器支持我上面概述的场景?

3 个答案:

答案 0 :(得分:1)

JProfiler可以做到这一点。你

  1. 附加到正在运行的应用程序
  2. 开始录制分配
  3. 执行您的用例
  4. 获取堆快照并在堆沃克选项对话框中选中“选择记录的对象”
  5. 然后堆walker的初始对象集将只包含由用例创建的强引用对象。

    免责声明:我公司开发JProfiler

答案 1 :(得分:0)

从Sun / Oracle查看JVisualVM。在它的基本配置中,我不认为它能满足您的需求,但它有许多插件。

答案 2 :(得分:0)

从VisualVM中查看Memory sampler并在“Deltas”模式下使用它。