-
我的 Go 服务内存和 goroutine 数量只涨不跌、跑久了必 OOM,最后揪出是一堆 goroutine 永远卡在 channel 上、泄漏了出不来的深度复盘
我的 Go 服务有个怪病:跑得越久内存越高、只涨不跌,goroutine 数量也持续上爬,最终 OOM 崩溃。我一开始当普通内存泄漏找"哪个对象没释放",直到发现 goroutine 数量同步上涨才醒悟——是 goroutine 泄漏:有段代码启动 goroutine 把结果通过无缓冲 channel 发回,主流程却会因超时提前返回、不再接收,那个 goroutine 就永久卡…- 0
- 0
-
服务跑了几天,goroutine 数量涨到了几十万,内存也跟着爆了:我写的 goroutine 悄悄地泄漏了的那次排查复盘
Go 服务跑几天就内存越涨越高、最后崩溃,重启又能撑几天。pprof 一查,活跃 goroutine 竟有几十万个,绝大多数都卡在同一行 channel 发送上。根因是 goroutine 泄漏:我为每个查询起一个 goroutine 往无缓冲 channel 发结果,但主函数只接收一次拿最快的就 return 了,其余 goroutine 因为没人接收、永远阻塞在发送上、退不出去。这篇从 gor…- 0
- 0
goroutine泄漏
幸运之星正在降临...
点击领取今天的签到奖励!
恭喜!您今天获得了{{mission.data.mission.credit}}积分
我的优惠劵
-
¥优惠劵使用时效:无法使用使用时效:
之前
使用时效:永久有效优惠劵ID:×
没有优惠劵可用!


