jhat 是分析 Java 堆转储的好工具,但对于大型堆,它很容易浪费大量时间。给 jhat 的运行时堆太小,可能需要 15 分钟才能失败并耗尽内存。
我想知道的是:根据 heapdump 文件的大小,我应该给 jhat 多少 -Xmx 堆是否有经验法则?现在只考虑二进制堆转储。
一些非常有限的实验表明它至少是堆转储大小的 3-4 倍。我能够使用 -J-mx12G 分析一个三并更改千兆字节的堆文件。
有没有其他人有更确凿的实验数据,或者了解 jhat 在运行时如何表示堆对象?
数据点:
jhat 是分析 Java 堆转储的好工具,但对于大型堆,它很容易浪费大量时间。给 jhat 的运行时堆太小,可能需要 15 分钟才能失败并耗尽内存。
我想知道的是:根据 heapdump 文件的大小,我应该给 jhat 多少 -Xmx 堆是否有经验法则?现在只考虑二进制堆转储。
一些非常有限的实验表明它至少是堆转储大小的 3-4 倍。我能够使用 -J-mx12G 分析一个三并更改千兆字节的堆文件。
有没有其他人有更确凿的实验数据,或者了解 jhat 在运行时如何表示堆对象?
数据点: