当我的 jboss 服务器运行 xms 为 4096m 和 xmx 为 4096m 以及 permsize 为 512m 时,我最近以 hprof 格式进行了 heapdump。
生成的 hprof 文件超过 5gb。当我在 visualvm、mat 分析器或 yourkit 中加载堆转储时,我只看到大约 1gb 的总字节。我已尝试更改 yourkit 中的可达性范围,但它显示的大小不超过 1 GB。
知道文件大小与显示的堆转储大小的巨大差异会导致什么吗?
ps:我用的是jdk1.6.0_23
不幸的是,我不允许在这里提交屏幕截图。
在文件系统上,hprof 大小为 5.227.659 kb,在 yourkit 中它指出:
对象:9.738.282 / 浅层大小 740 mb / 保留大小:740 mb 其中可到达的字符串:6.652.515 (68%) / 浅层大小:381 mb (51%) / 保留大小:381 MB (51%)
最大保留大小是 206.810.176 的 byte[]