jmap -heap给出了如下输出:
新一代使用100%,伊甸园空间使用100%,从空间使用100%,到空间使用: 0%,Perm使用: 38%
这是100%的新的,伊甸园,从太空-一个问题?
我的JAVA选项是:-Xms10240m -Xmx14336m -XX:PermSize=192m -XX:MaxPermSize=256m -XX:NewSize=8192m -XX:MaxNewSize=8192m -XX:-DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=60
我看到很多快速的垃圾收集。但是使用像JConsole这样的工具没有内存泄漏。
在这里可以看到内存的使用情况:http://tinypic.com/view.php?pic=wo213&s=6
JDK 1.6正在使用中。
发布于 2012-06-29 03:18:02
这就是代际收藏的工作原理。你有年轻的空间(伊甸园,从,到)和旧的空间(任期,烫发)。年轻的空间更小。一旦年轻空间满了(你的情况),就会发生所谓的小GC (年轻GC)的事情。
但较小的GC应该很快。一旦旧空间满了,GC就会发生(这会更费时)。
想法是拥有更频繁的快速小GCs和更少频繁的全GCs。
您可以在本文章中阅读更详细的说明。
发布于 2012-06-28 14:23:15
我发现以下两个命令非常有用
jstat -gc或
jstat -gcutil发布于 2012-06-28 14:31:00
也检查内存泄漏可能是谨慎的。使用visualVM或其他工具(例如,Ecki盘内存分析器)并将其附加到进程中。
一旦知道了泄漏的内容,就可以找到保存对对象的引用的内容,例如
jmap -dump:live,file=heap.dump.out,format=b <pid>
jhat heap.dump.out另外,只是想知道JVM版本是什么--这是您为GC传递的参数等等。
https://stackoverflow.com/questions/11245444
复制相似问题