Java的:G1老一代垃圾收集次数为0

问题描述 投票:3回答:1

我们正在为Kafka,这是运行椒JMX代理设置监测GC。我们使用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

任何人都可以指出的问题。

java apache-kafka garbage-collection jconsole
1个回答
7
投票

G1垃圾收集器使用3种类型的集合(均为停止这世界)

  • 年轻GC只收集年轻空间
  • 混频器的GC收集年轻空间+少数地区从旧空间
  • 完整的GC - 紧急GC收集全的东西,如果增量收集无法与应用程序的内存使用跟上其被触发

理想的情况是完全GC不应该在G1发生。

关于JMX柜台, - 年轻和混频器都算作年轻GC - 全GC算作老

正如我所说的,在G1的情况下,老GC JMX计数器有望保持为0,虽然老空间被年轻的收藏回收(增量)。

© www.soinside.com 2019 - 2024. All rights reserved.