jvm垃圾回收 -- ZGC

ZGC是从JDK11中引入的一种新的支持弹性伸缩和低延迟垃圾收集器,ZGC可以工作在KB~TB的内存之下,作为一种并发的垃圾收集器,ZGC保证应用延迟不会超过10毫秒(即便在堆内存很大的情况下),在JDK11中是以实验阶段的特性被发布出来的,到JDK13时,ZGC可以支持到16TB的堆内存,并且可以将未提交的内存归还给操作系统。


Z垃圾收集器(ZGC)是可伸缩的低延迟垃圾收集器。ZGC可以同时执行所有昂贵的工作,而不会将应用程序线程的执行停止超过10ms,这使得它适合于要求低延迟和/或使用非常大堆(数TB)的应用程序。

Z垃圾收集器可作为实验功能使用,并通过命令行选项启用 -XX:+UnlockExperimentalVMOptions -XX:+UseZGC。

设置堆大小
ZGC最重要的调整选项是设置最大堆大小(-Xmx)。由于ZGC是并发收集器,因此必须选择一个最大堆大小,以便:1)堆可以容纳您的应用程序的活动集,以及2)堆中有足够的空间以允许在GC处于运行状态时为分配提供服务运行。需要多少空间非常取决于分配率和应用程序的实时设置大小。通常,给ZGC的内存越多越好。但是同时,浪费内存是不可取的,因此,这全都在于在内存使用和GC需要运行的频率之间找到平衡。

设置并发GC线程数
您可能要看的第二个调整选项是设置并发GC线程数(-XX:ConcGCThreads)。ZGC具有启发式功能,可以自动选择此数字。这种启发式方法通常效果很好,但根据应用程序的特性,可能需要对其进行调整。此选项从根本上决定了应该给GC多少CPU时间。给它太多,GC将占用应用程序太多的CPU时间。给它太少,应用程序分配垃圾的速度可能比GC收集垃圾的速度快。

// Ref
HotSpot虚拟机垃圾收集优化指南

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值