【问题标题】:allocation annotated heap dump分配注释堆转储
【发布时间】:2013-01-28 06:36:02
【问题描述】:

是否有任何现有的工具可以使用分配站点注释进行 Java 堆转储?有了这样的堆转储,除了按类类型聚合之外,我们还可以通过它们的分配站点(粗略地说,创建对象的新语句)聚合运行时对象。

假设这种堆转储可用,你认为它对泄漏调试更有用吗?

【问题讨论】:

  • 大多数商业分析器都这样做。例如YourKit 还可以在程序运行时使用各种报告或从它最后的转储之一中为您提供此信息。注意:java 堆转储不包含此信息。

标签: java memory-management heap-dump


【解决方案1】:

我帮助将此功能构建到 HPjmeter 中 - 但它是一个特定于平台的功能(意味着它仅在 Itanium/HP-UX 上可用)。它有助于解决特定类型的问题(例如,识别正在执行大量短期分配并导致 GC 压力的站点)。对于大多数泄漏,泄漏对象支配着您的对象图,您的标准工具将有助于将其可视化。

万一这确实是您的开发环境,收集此数据的标志是PrintAllocStatitistics(同样,特定于平台!):

 java ... -XX:+PrintAllocStatistics -Xverbosegc[0|1][:file=[filename[,[n][h][d][u][t]]]]

您还可以在在线documentation 中阅读有关此功能的更多信息。搜索分配统计数据

【讨论】:

    猜你喜欢
    • 2013-01-04
    • 1970-01-01
    • 2013-04-08
    • 2013-02-28
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 2023-03-19
    • 2013-02-07
    相关资源
    最近更新 更多