Java 使用jhat分析堆的内存开销是多少?
jhat是分析Java堆转储的一个很好的工具,但是对于大型堆来说,它很容易浪费很多时间。给jhat一个运行时堆太小,可能需要15分钟才能失败并耗尽内存 我想知道的是:根据heapdump文件的大小,我应该给jhat多少-Xmx heap有经验法则吗?现在只考虑二进制堆转储 一些非常有限的实验表明,它至少是堆转储大小的3-4倍。我能够用-J-mx12G分析一个3字节的堆文件,并对其进行更改 其他人是否有更确凿的实验数据,或者了解jhat在运行时如何表示堆对象 数据点:Java 使用jhat分析堆的内存开销是多少?,java,heap,overhead,jhat,Java,Heap,Overhead,Jhat,jhat是分析Java堆转储的一个很好的工具,但是对于大型堆来说,它很容易浪费很多时间。给jhat一个运行时堆太小,可能需要15分钟才能失败并耗尽内存 我想知道的是:根据heapdump文件的大小,我应该给jhat多少-Xmx heap有经验法则吗?现在只考虑二进制堆转储 一些非常有限的实验表明,它至少是堆转储大小的3-4倍。我能够用-J-mx12G分析一个3字节的堆文件,并对其进行更改 其他人是否有更确凿的实验数据,或者了解jhat在运行时如何表示堆对象 数据点: 表示开销是5倍,但我在最新
- 表示开销是5倍,但我在最新型号jhats(1.6.0_26)上的实验表明它并没有那么糟糕
- 表示约10倍的开销
- 一位同事支持10x理论:2.5gb堆文件与-J-mx23G一起失败
- 还有一位同事得到了一个6.7GB的转储,可以与30GB的堆一起工作,开销是原来的4.4倍