У нас большое приложение с выделенной кучей минимум 2 ГБ и максимум 8 ГБ. Во время нагрузочного теста мы находим очень длительное время паузы, когда циклы ГХ составляют более 16 с. Первоначально мы использовали «-XX: + UseParNewGC», но переключение на UseParallelGC дало нам столь необходимый прирост производительности, но у нас есть проблема с более длительным временем паузы под нагрузкой.
Мы пробовали несколько вариантов, таких как подрастающее молодое поколение, но, кажется, ничто не помогает ни одной идее, что еще можно попробовать? Мы можем увеличить размер кучи, если это необходимо, но мне интересно, что может ухудшить gc pause. Если ничего не поделаешь, я подумываю об использовании серверов приложений кластера с кучей 5 ГБ вместо одной большой кучи.
снимок текущего журнала gc прилагается
J
J Thu Jun 23 12:40:56 2011
J [GCJ
J Thu Jun 23 12:40:57 2011
[PSYoungGen: 2130792K->475247K(2084160K)] 7198716K->5543171K(7676608K), 1.3280110 secs] [Times: user=0.00 sys=1.88, real=1.33 secs]
J
J Thu Jun 23 12:41:00 2011
J [GCJ
J Thu Jun 23 12:41:01 2011
[PSYoungGen: 1966319K->417801K(1908928K)] 7034243K->5546416K(7501376K), 0.7025950 secs] [Times: user=0.01 sys=1.89, real=0.71 secs]
J
J Thu Jun 23 12:41:12 2011
J [GCJ
J Thu Jun 23 12:41:13 2011
[PSYoungGen: 1908873K->269608K(2155520K)] 7037488K->5523748K(7747968K), 1.3117340 secs] [Times: user=0.01 sys=1.44, real=1.31 secs]
J
J Thu Jun 23 12:41:33 2011
J [GC [PSYoungGen: 1747432K->138147K(1616000K)] 7001572K->5593865K(7208448K), 0.4949960 secs] [Times: user=0.01 sys=1.40, real=0.50 secs]
J [Full GCJ
J Thu Jun 23 12:41:50 2011
[PSYoungGen: 138147K->0K(1616000K)] [PSOldGen: 5455718K->3456287K(5592448K)] 5593865K->3456287K(7208448K) [PSPermGen: 256273K->256273K(524288K)], 17.0259440 secs] [Times: user=0.00 sys=16.88, real=17.02 secs]
J
J Thu Jun 23 12:42:09 2011
J [GC [PSYoungGen: 1477824K->85118K(2110848K)] 4934111K->3541406K(7703296K), 0.1437050 secs] [Times: user=0.00 sys=0.30, real=0.14 secs]
J
J Thu Jun 23 12:42:20 2011
J [GC [PSYoungGen: 1573438K->71812K(2100352K)] 5029726K->3600767K(7692800K), 0.2477960 secs] [Times: user=0.00 sys=0.65, real=0.25 secs]