Java CMS - молодое поколение GC занимает все больше и больше времени - PullRequest
0 голосов
/ 10 июня 2019

У нас есть приложение, работающее на OpenJDK8, которое имеет высокую скорость выделения (около 80 МБ / с) в течение всего дня.

Мы заметили, что общее время gc молодого поколения напрямую ссылается наоккупация старого поколения, и становится все медленнее и медленнее.Как это вообще возможно?Кроме того, после принудительного FullGC среднее время GC снова становится быстрым, а затем постепенно снова увеличивается

Рабочая нагрузка не сильно меняется, и имеется достаточно свободного пространства для OldGen.Да, есть продвижение к OldGen, но оно предназначено и не может быть оптимизировано.

Вот два графика в качестве доказательства: OldGen YoungGen

Пожалуйста, игнорируйте шипы для OldGen, это просто ошибка измерения.Красные линии представляют GC.

Мы используем следующие параметры запуска:

-server -Xms8g -Xmx15g -XX:MaxPermSize=2048m -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:NewRatio=2 -XX:SurvivorRatio=8 -XX:+PrintGCTimeStamps -XX:+PrintGCDateStamps -verbose:gc

Заранее спасибо.

...