背景提要分享一個 GC 相關的踩坑實踐。公司線上某組件內存資源泄漏,偶發 oom 。通過 Go 的 pprof 排查,很快速定位到泄漏的數據結構 A ,結構 A 的相關資源是通過 Go 的 Finalizer 機制來釋放的。但詭異的來了,對照着代碼審視了多次之後,大家一致斷定,這段代碼絕對沒有泄漏的問題。但是,事實勝於雄辯,現實就是泄漏就在此處。想不通。。。幾天之後,問題的轉機來自於另一個毫不相 ⌘ Read more
背景提要分享一個 GC 相關的踩坑實踐。公司線上某組件內存資源泄漏,偶發 oom 。通過 Go 的 pprof 排查,很快速定位到泄漏的數據結構 A ,結構 A 的相關資源是通過 Go 的 Finalizer 機制來釋放的。但詭異的來了,對照着代碼審視了多次之後,大家一致斷定,這段代碼絕對沒有泄漏的問題。但是,事實勝於雄辯,現實就是泄漏就在此處。想不通。。。幾天之後,問題的轉機來自於另一個毫不相 ⌘ Read more