JavaGC日志中的“其他”是什么意思?

wdebmtf2  于 2021-07-07  发布在  Java
关注(0)|答案(1)|浏览(396)

我有这样的安排
运行在ec2上的java11corretto内部docker
java选项:-xms1200m-xmx1200m-xx:+useg1gc-xlog:gc*
在日志中,我看到gc通常需要约100-200ms,但对于某些时隙,我看到一些奇怪的行为:
[2074.114s][info][gc,phases]gc(39)其他:4082.5ms

[2074.114s][info][gc,phases ] GC(39) Pre Evacuate Collection Set: 0.0ms

[2074.114s][info][gc,phases ] GC(39) Evacuate Collection Set: 161.7ms

[2074.114s][info][gc,phases ] GC(39) Post Evacuate Collection Set: 0.6ms

!!!!!!!!!!!!!![2074.114s][info][gc,phases ] GC(39) Other: 4082.5ms !!!!!!!!!!!!!!!!!!!!

[2074.114s][info][gc,heap ] GC(39) Eden regions: 253->0(574)

[2074.114s][info][gc,heap ] GC(39) Survivor regions: 49->27(38)

[2074.114s][info][gc,heap ] GC(39) Old regions: 186->229

[2074.114s][info][gc,heap ] GC(39) Humongous regions: 0->0

[2074.114s][info][gc,metaspace ] GC(39) Metaspace: 121063K->121063K(1159168K)

[2074.114s][info][gc ] GC(39) Pause Young (Normal) (G1 Evacuation Pause) 488M->256M(1200M) 4244.945ms

[2074.114s][info][gc,cpu ] GC(39) User=0.20s Sys=0.03s Real=4.25s

这个“其他”步骤是什么意思?

o7jaxewo

o7jaxewo1#

这很可能是由于将注销写入磁盘所花费的时间,这被视为“其他”任务。一个简单的解决方案是将日志写到ramdisk(在大多数发行版上是/tmp)。

相关问题