jjzjj

记CMS FGC 的一次调优

介绍    有一个系统,有如下特征,偶尔会触发FGC(1小时几次,每次持续4~5分钟):机器规格48C96G,规格已经很大了,不宜再扩大内存分配:Young20GB(1:1:8),Old 70GB,堆外4GB,预留2GB给OS使用ParNewGC+ CMSGC启动后需要加载大量元数据、缓存,大概占据30GB~40GB内存,这些元数据、缓存常驻内存业务繁忙,堆内存分配速度很快,低峰期1GB/s+,高峰期5GB/s+单机大部分时间不会FGC,Old区使用率也符合预期 (比例在30GB~40GB除以70GB);但即将发生FGC时,Old区的利用率是在短时间(2~3分钟以内)猛涨上去的,不是慢慢涨上去

记一次线上FGC问题排查

引言本文记录一次线上GC问题的排查过程与思路,希望对各位读者有所帮助。过程中也走了一些弯路,现在有时间沉淀下来思考并总结出来分享给大家,希望对大家今后排查线上GC问题有帮助。背景服务新功能发版一周后下午,突然收到CMSGC告警,导致单台节点被拉出,随后集群内每个节点先后都发生了一次CMSGC,拉出后的节点垃圾回收后接入流量恢复正常(事后排查发现被重启了)。告警信息如下(已脱敏):多个节点几乎同时发生GC问题,且排查自然流量监控后发现并未有明显增高,基本可以确定是有GC问题的,需要解决。排查过程GC日志排查GC问题首先排查的应该是GC日志,日志能能够清晰的判定发生GC的那一刻是什么导致的GC,通

记一次线上FGC问题排查

引言本文记录一次线上GC问题的排查过程与思路,希望对各位读者有所帮助。过程中也走了一些弯路,现在有时间沉淀下来思考并总结出来分享给大家,希望对大家今后排查线上GC问题有帮助。背景服务新功能发版一周后下午,突然收到CMSGC告警,导致单台节点被拉出,随后集群内每个节点先后都发生了一次CMSGC,拉出后的节点垃圾回收后接入流量恢复正常(事后排查发现被重启了)。告警信息如下(已脱敏):多个节点几乎同时发生GC问题,且排查自然流量监控后发现并未有明显增高,基本可以确定是有GC问题的,需要解决。排查过程GC日志排查GC问题首先排查的应该是GC日志,日志能能够清晰的判定发生GC的那一刻是什么导致的GC,通