Java: G1 Количество сборок мусора старого поколения равно 0 - PullRequest
0 голосов
/ 18 декабря 2018

Мы настраиваем мониторинг для GC для Kafka, на котором запущен Jolokia JMX агент.Мы используем Telegraph для отправки JMX из системы на наши Grafana серверы для построения графика.

Когда мы проверяем G1 GC count for Old Generation, мы видим, что количество и время сбора составляет enter image description here

Но падение пула памяти для G1 Old Gen очевиднона следующем рисунке enter image description here

Аргументы Java для запуска процесса Kafka с помощью следующей команды:

-javaagent:/usr/lib/jolokia/jolokia-jvm-1.5.0-agent.jar -Xmx2G -Xms2G -XX:+UseG1GC -XX:MaxGCPauseMillis=20 -XX:InitiatingHeapOccupancyPercent=35 -XX:+ExplicitGCInvokesConcurrent -Djava.awt.headless=true -Xloggc:/home/test/kafka_2.12-1.0.1/bin/../logs/kafkaServer-gc.log -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCTimeStamps -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=100M -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=8000 -Djava.rmi.server.hostname=172.31.24.149 -Dkafka.logs.dir=/home/test/kafka_2.12-1.0.1/bin/../logs -Dlog4j.configuration=file:./bin/../config/log4j.properties

Кто-нибудь может указать на проблему.

1 Ответ

0 голосов
/ 19 декабря 2018

G1 сборщик мусора использует 3 типа коллекций (все это Stop-the-World)

  • young GC собирает только молодое пространство
  • смеситель GC собирает молодое пространство + несколько регионов изстарое пространство
  • полный сборщик мусора - аварийный сборщик мусора, собирающий все объекты, он запускается, если добавочный сбор не справляется с использованием памяти приложения

В идеале полный сборщик мусора никогда не должен происходить в G1.

Что касается счетчиков JMX, - молодые и смеситель считаются молодыми GC - полный GC считается старыми

Как я уже говорил, в случае G1 старый счетчик GC JMX должен оставаться на 0,хотя старое пространство восстанавливается (постепенно) молодыми коллекциями.

...