1回复
1年前
STW超过1秒的young gc求助
用的是g1 gc,jdk是1.8,加了日志后发现是Ext root scanning阶段中扫描ObjectSynchronizer root时有个线程耗时很久,但其他gc线程耗时都为0,大佬们知道是啥原因吗?详细gc日志如下图:
有个特点是这20多个gc线程中似乎只有一个线程在扫描ObjectSynchronizer,其他线程扫描这种gc root的时间都为0,感觉比较诡异,按理说应该是一起分工的吧;还有为何加锁对象会成为gc root呢?
2599 阅读
运行一段时间后开始出现的话大概率有memory leak,例如可能object的reference没有清理干净。这种情况可以查查gc log确认一下。然后做个heap dump,看看究竟是什么占了内存。