Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.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 爪哇:新一代使用100%,伊甸园空间使用100%,来自空间使用100%_Java_Memory_Garbage Collection_Heap_Jmap - Fatal编程技术网

Java 爪哇:新一代使用100%,伊甸园空间使用100%,来自空间使用100%

Java 爪哇:新一代使用100%,伊甸园空间使用100%,来自空间使用100%,java,memory,garbage-collection,heap,jmap,Java,Memory,Garbage Collection,Heap,Jmap,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:+useCmarksweep

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:+useCmarksweepgc-XX:cmSinitiatingOccinecyFraction=60

我看到很多快速的垃圾收集。但使用JConsole等工具不会出现内存泄漏

内存使用情况如下所示:


JDK1.6正在使用。

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

jstat -gc


也可以谨慎地检查内存泄漏。使用visualVM或其他工具(如Eckipse内存分析器)并将其连接到流程

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

jmap -dump:live,file=heap.dump.out,format=b <pid>

jhat heap.dump.out
jmap-dump:live,file=heap.dump.out,format=b
jhat heap.dump.out

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

这就是分代收集的工作原理。 你有年轻的空间(伊甸园,从,到)和老的空间(任期,烫发)。年轻的空间更小。一旦年轻的空间(您的案例)满了,称为次要GC(年轻GC)的事情就发生了

但是小GC应该很快。一旦旧空间已满,就会发生GC(这更耗时)

这个想法是要有更频繁的快速次要地面军事系统和更不频繁的完整地面军事系统


您可以在此

中阅读更详细的说明。您的软件是否遇到问题?应用程序有时会被报告为运行缓慢。但总体内存使用情况良好,远低于最大内存。但新世代、伊甸园等如果经常接近100%。这可能是问题吗?新世代和伊甸园满了可能会触发很多快速地面军事系统。看看jstat,如果地面军事系统太多,你可能想增加Eden和/或NewGen空间。不过,要找到最佳配置,这将是一个反复试验的过程。
jmap -dump:live,file=heap.dump.out,format=b <pid>

jhat heap.dump.out