java - Java:为什么在runhprof输出中显示多个对象?

我对runhprof的输出感到好奇吗?我主要关注内存部分。看起来有多个相同类别的条目。为什么会这样。

有没有一种方法可以让hprof打印出一个特定类(该类的实例)在内存中占用了多少内存。每个类一个值。

另外,您在“帽子”旁边使用哪些工具来分析输出?

我用jvm arg运行了Java命令:

-Xrunhprof:heap = sites,depth = 4,format = a,file = prof / hprof_dump.txt

这是输出的简短摘要。一些类在输出中多次列出。

SITES BEGIN(按实时字节排序)2009年7月28日星期二19:33:41
          实时分配的堆栈类百分比
 排名自我累积字节objs字节objs跟踪名称
    1 29.75%29.75%700080 43755 576000016 36000001 307483 java.lang.Double
      2 7.13%36.88%167840 5245 370432 11576 300993 clojure.lang.PersistentHashMap $ LeafNode
        3 2.09%38.98%49296 2054 60048 2502 301295 clojure.lang.Symbol
        4 2.09%41.07%49200 3 49200 3 301071字符[]
        5 1.33%42.40%31344 1306 68088 2837 300998 clojure.lang.PersistentHashMap $ BitmapIndexedNode
        6 1.10%43.50%25800 645 25800 645 301050 clojure.lang.Var
        7 1.05%44.54%24624 3 24624 3 301069字节[]
        8 0.86%45.40%20184 841 49608 2067 301003 clojure.lang.PersistentHashMap $ INode []
        9 0.78%46.18%18304 572 58720 1835 301308 clojure.lang.PersistentList
       10 0.75%46.93%17568 549 17568 549 308832 java.lang.String []
       11 0.70%47.62%16416 2 16416 2 301036字节[]

最佳答案

Eclipse Memory Analyzer非常好。非常快速地加载转储文件,生成有关堆转储的许多不错的报告,让您使用类似于SQL的语言在转储中查询对象/类。爱它。

本文翻译自 https://stackoverflow.com/questions/1197697/

网站遵循 CC BY-SA 4.0 协议,转载或引用请注明出处。

标签 java hprof


相关文章:

java - java扩展泛型类型歧义方法调用

java - 如何告诉proguard保持枚举常量和字段

java - 为什么jhat的-baseline选项不起作用?

java - 在服务器端配置文件应用程序

android - Android Studio堆快照分析器 - “支配大小”代表什么?

android - MAT(Eclipse Memory Analyzer) - 如何从内存转储中查看位图

java - facebook API返回的日期值是否为GMT格式?

java - 如何刷新JComboBox数据?

java - 当我单击一次注销链接时,它不会返回,但是当我单击两次注销链接时,它会返回到上一页

android - Android Studio 3中找不到HPROF Analyzer工具