我一直在使用initiliaze和最大设置为256Mb来运行我的应用程序。所以过了一段时间后我注意到我准备好了2个GC。下面是我设法捕获我的jstat的片段。我想知道通常会导致老一代成长的原因,一旦它完全是我们获得完整GC的权利。我没有将初始化和最大内存都设置为512 Mb。我是否必须根据生成值进行其他调整?
2752448.4 0.00 61.25 99.06 51.71 44.17 4613 235.614 2 0.429 236.044
2752453.4 0.00 61.25 99.73 51.71 44.17 4613 235.614 2 0.429 236.044
2752458.3 69.74 0.00 0.44 51.72 44.17 4614 235.630 2 0.429 236.059
2752463.3 69.74 0.00 1.31 51.72 44.17 4614 235.630 2 0.429 236.059
2752468.4 69.74 0.00 2.67 51.72 44.17 4614 235.630 2 0.429 236.059
^Z
[2]+ Stopped ./jstat -gcutil -t 1824 5s
[root@localhost bin]# ./jstat -gcutil -t 1824 5s
Timestamp S0 S1 E O P YGC YGCT FGC FGCT GCT
2752472.6 69.74 0.00 3.67 51.72 44.17 4614 235.630 2 0.429 236.059
2752477.6 69.74 0.00 5.38 51.72 44.17 4614 235.630 2 0.429 236.059
2752482.6 69.74 0.00 7.51 51.72 44.17 4614 235.630 2 0.429 236.059
2752487.6 69.74 0.00 9.52 51.72 44.17 4614 235.630 2 0.429 236.059
2752492.6 69.74 0.00 10.55 51.72 44.17 4614 235.630 2 0.429 236.059
答案 0 :(得分:1)
我想知道通常会导致老一代成长的原因,一旦它完全正确,我们就可以获得完整的GC。
任何离开幸存者空间的东西都将留在旧世界。你可能只会在旧的gen填充时获得一个主要的收藏。完整系列适合年轻人和老年人。
。我没有将初始化和最大内存都设置为5125 Mb
我怀疑你的意思是512 MB(注意Mb =兆位)
我必须根据生成值进行其他调整吗?
如果没有更多信息,我就不会再“调整”GC了。事实上,我会删除最小设置,除非你知道这确实有帮助。除非我知道这有帮助,否则我甚至没有设定最大值。