memory-leak
Golang的内存泄漏
- Channel 阻塞导致的 Goroutine 泄漏
- 对象一直被引用,GC 无法回收
- 切片(slice)扩容导致底层数组无法释放
- 未关闭资源(间接导致内存泄漏)
简而言之,Go 的内存泄漏 = “对象因被意外引用而无法被 GC 回收”
当怀疑有内存泄漏时,可以使用 Go 的工具链—— pprof (Heap Profile):
go tool pprof http://localhost:6060/debug/pprof/heap
top
list main.main.func3