Go 内存泄漏典型场景盘点与 pprof 排查方案
① goroutine 泄漏:channel 阻塞无配对、死循环未退出——goroutine 栈永远不释放;② 未关闭资源:http.Response.Body 未 Close、文件句柄、DB 连接、time.Ticker 未 Stop;③ 全局缓存无限增长:map/slice 只增不减、缓存无淘汰策略;④ 闭包意外持有大对象:长生命周期对象被短生命周期引用链保留;⑤ 未解除的引用:切片切片后保留原大数组(s := big[0:1] 仍持有整个数组)。排查:pprof heap + goroutine 对比采样。
一起交流
分享经验,让问题更进一步
讨论,从你的观点开始
还没有回复,欢迎补充经验或分享不同的思路。