Java GC运行调整影响

时间:2013-10-18 14:57:20

标签: java memory-management garbage-collection

我一直在使用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

1 个答案:

答案 0 :(得分:1)

  

我想知道通常会导致老一代成长的原因,一旦它完全正确,我们就可以获得完整的GC。

任何离开幸存者空间的东西都将留在旧世界。你可能只会在旧的gen填充时获得一个主要的收藏。完整系列适合年轻人和老年人。

  

。我没有将初始化和最大内存都设置为5125 Mb

我怀疑你的意思是512 MB(注意Mb =兆位)

  

我必须根据生成值进行其他调整吗?

如果没有更多信息,我就不会再“调整”GC了。事实上,我会删除最小设置,除非你知道这确实有帮助。除非我知道这有帮助,否则我甚至没有设定最大值。