Categories
程式開發

新一代垃圾回收器ZGC的探索与实践


很多低延迟高可用Java服务的系统可用性经常受GC停顿的困扰,作为新一代的低延迟垃圾回收器,ZGC在大内存低延迟服务的内存管理和回收方面,有着非常不错的表现。
本文从GC之痛、ZGC原理、ZGC调优实践、升级ZGC效果等维度展开,详述了ZGC在美团低延时场景中的应用,以及在生产环境中取得的一些成果。希望这些实践对大家有所帮助或者启发。

ZGC(The Z Garbage Collector)是JDK 11中推出的一款低延迟垃圾回收器,它的设计目标包括:

  • 停顿时间不超过10ms;
  • 停顿时间不会随着堆的大小,或者活跃对象的大小而增加;
  • 支持8MB~4TB级别的堆(未来支持16TB)。

从设计目标来看,我们知道ZGC适用于大内存低延迟服务的内存管理和回收。本文主要介绍ZGC在低延时场景中的应用和卓越表现,文章内容主要分为四部分:

  • GC之痛 :介绍实际业务中遇到的GC痛点,并分析CMS收集器和G1收集器停顿时间瓶颈;
  • ZGC原理 :分析ZGC停顿时间比G1或CMS更短的本质原因,以及背后的技术原理;
  • ZGC调优实践 :重点分享对ZGC调优的理解,并分析若干个实际调优案例;
  • 升级ZGC效果 :展示在生产环境应用ZGC取得的效果。

GC之痛

原文链接:【https://www.infoq.cn/article/HA7LLvSEyuaVp6NZpEXr】。未经作者许可,禁止转载。