java:g1旧代垃圾收集计数为0

wpcxdonn  于 2021-06-07  发布在  Kafka
关注(0)|答案(1)|浏览(495)

我们正在为gc设置监控 Kafka ,它正在运行jolokia jmx代理。我们正在使用 Telegraph 把jmx从系统中运到我们的 Grafana 用于绘制图形的服务器。
当我们检查 G1 GC count for Old Generation 我们可以看到收集次数和收集时间

但是内存池的下降 G1 Old Gen 如下图所示

运行 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 有人能指出这个问题吗。

tyky79it

tyky79it1#

g1垃圾收集器使用3种类型的收集(都是stop-the-world)
年轻的gc只收集年轻的空间
mixer gc从旧空间收集年轻空间+少数区域
完全gc—紧急gc收集所有内容,如果增量收集无法跟上应用程序内存使用率,则会触发此事件
理想情况下,完全gc永远不会发生在g1中。
关于jmx计数器,-young和mixer算作young gc-full gc算作old
正如我所说的,在g1的情况下,旧的gc jmx计数器应该保持在0,尽管旧的空间是由年轻的集合(增量)回收的。

相关问题