首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java:新一代100%,伊甸园空间100%,空间100%

Java:新一代100%,伊甸园空间100%,空间100%
EN

Stack Overflow用户
提问于 2012-06-28 13:12:16
回答 3查看 20.9K关注 0票数 6

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正在使用中。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-06-29 03:18:02

这就是代际收藏的工作原理。你有年轻的空间(伊甸园,从,到)和旧的空间(任期,烫发)。年轻的空间更小。一旦年轻空间满了(你的情况),就会发生所谓的小GC (年轻GC)的事情。

但较小的GC应该很快。一旦旧空间满了,GC就会发生(这会更费时)。

想法是拥有更频繁的快速小GCs和更少频繁的全GCs。

您可以在本文章中阅读更详细的说明。

票数 7
EN

Stack Overflow用户

发布于 2012-06-28 14:23:15

我发现以下两个命令非常有用

代码语言:javascript
复制
jstat -gc

代码语言:javascript
复制
jstat -gcutil
票数 3
EN

Stack Overflow用户

发布于 2012-06-28 14:31:00

也检查内存泄漏可能是谨慎的。使用visualVM或其他工具(例如,Ecki盘内存分析器)并将其附加到进程中。

一旦知道了泄漏的内容,就可以找到保存对对象的引用的内容,例如

代码语言:javascript
复制
jmap -dump:live,file=heap.dump.out,format=b <pid>

jhat heap.dump.out

另外,只是想知道JVM版本是什么--这是您为GC传递的参数等等。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11245444

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档