我正在调查我们的一个生产系统上的 JVM 崩溃,以下内存值在下面的 hs_err_pid 日志文件片段中代表什么?
Heap
par new generation total 1258624K, used 955445K [0x00000005c0000000, 0x00000006155b0000, 0x000000066aaa0000)
eden space 1118784K, 73% used [0x00000005c0000000, 0x00000005f1e52598, 0x0000000604490000)
from space 139840K, 98% used [0x000000060cd20000, 0x00000006153db100, 0x00000006155b0000)
to space 139840K, 0% used [0x0000000604490000, 0x0000000604490000, 0x000000060cd20000)
tenured generation total 2796224K, used 1745107K [0x000000066aaa0000, 0x0000000715550000, 0x00000007c0000000)
the space 2796224K, 62% used [0x000000066aaa0000, 0x00000006d52d4d90, 0x00000006c2e0c400, 0x0000000715550000)
compacting perm gen total 482944K, used 482943K [0x00000007c0000000, 0x00000007dd7a0000, 0x0000000800000000)
the space 482944K, 99% used [0x00000007c0000000, 0x00000007dd79fff0, 0x00000007dd7a0000, 0x00000007dd7a0000)
No shared spaces configured.
我关心的是“compacted perm gen”用法:它是指最大分配的 perm gen 堆的使用百分比,还是最大堆的使用百分比,还是其他什么?提供的百分比似乎是已用/总数的除法,这是总分配的 perm gen 吗?由于我们-XX:MaxPermSize
设置为 1GB...
是否有任何有用的资源(除了没有提及 hs_err 文件的Oracle 白皮书)来解释在 JVM 崩溃时转储的数据?