go 触发GC的条件

1.系统触发

在GO的源码中,src/runtime/mgc.go 明确标识了GC触发的三种情景

const (
 gcTriggerHeap gcTriggerKind = iota
 gcTriggerTime
 gcTriggerCycle
)
  • gcTriggerHeap: 当所分配的堆达到阀值的时候,会自动触发.
  • gcTriggerTime :当距离上次GC周期超过一定的时间,也会触发GC.时间周期变量是runtime.forcegcperiod 变量为准,默认2分钟
  • gcTriggerCycle: 如果没有开启,则自动开启GC

2.手动触发

通过手动调用runtime.GC来触发.

可能会是在某些业务方法执行完后,因其占用了过多的内存,需要人为释放。又或是 debug 程序所需。

想要查看更加详细的话,请参考Go 什么时候会触发 GC?-优快云博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值