Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/401.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在几个完整的GC中,堆大小达到了XmX,即1.2g,但堆转储仅显示了200m的数据_Java_Jvm_Jmap - Fatal编程技术网

Java 在几个完整的GC中,堆大小达到了XmX,即1.2g,但堆转储仅显示了200m的数据

Java 在几个完整的GC中,堆大小达到了XmX,即1.2g,但堆转储仅显示了200m的数据,java,jvm,jmap,Java,Jvm,Jmap,我们注意到GC日志中频繁出现完整的GC条目超过3-4小时。我们的XmX是1.2g,所有完整GC都没有恢复多少。VM保持在1克左右 为了查看堆中保存了什么,我们使用了堆转储,但在内存分析器工具中,我们只看到30%的内存被占用,剩下70%的空闲 堆文件大小为1g 我们使用:live选项进行堆转储 /usr/<java_version>/bin/jmap -dump:live,format=b,file=heap.bin <pid> 是否有其他方法获取堆的完整快照?使用哪个应

我们注意到GC日志中频繁出现完整的GC条目超过3-4小时。我们的XmX是1.2g,所有完整GC都没有恢复多少。VM保持在1克左右

为了查看堆中保存了什么,我们使用了堆转储,但在内存分析器工具中,我们只看到30%的内存被占用,剩下70%的空闲

堆文件大小为1g

我们使用:live选项进行堆转储

/usr/<java_version>/bin/jmap -dump:live,format=b,file=heap.bin <pid>

是否有其他方法获取堆的完整快照?

使用哪个应用程序服务器?@Miki我们在RHELJVM中使用tomcat JDK 1.6,以32位模式运行。也可以触发完整GC以满足PermGen中的分配。由于您最近询问了PermGen问题,我认为情况就是这样。@apangin正如我所说,堆大小已满3-4个小时,而完整的GC日志并没有表明任何恢复。因此,这个问题与PermSpace不同。jmap为您提供堆的最完整快照。还有一些JVM选项您可能会发现很有用:-XX:+printClassHistorogramBeforeFullGC-XX:+printClassHistorogramAfterFullGC-XX:+HeapDumpBeforeFullGC-XX:+HeapDumpAfterFullGC-XX:+heapdumpOnAutofmemoryError