golang你不得不知道的事

go语言gc实现、触发机制

2021-03-15  本文已影响0人  超鸽带你飞

算法:

标记-清除:从根变量开始遍历所有引用的对象,引用的对象标记为"被引用",没有被标记的进行回收。

stop the world

是gc的最大性能问题,对于gc而言,需要停止所有的内存变化,即停止所有的goroutine,等待gc结束之后才恢复。

触发

阈值:默认内存扩大一倍,启动gc
定期:默认2min触发一次gc,src/runtime/proc.go:forcegcperiod
手动:runtime.gc()

上一篇下一篇

猜你喜欢

热点阅读