Go性能优化GC
Go 内存管理与 GC 调优实战
EasyGo2025-11-1018 分钟
Go 内存分配器
Go 使用 TCMalloc 风格的内存分配器,主要特点:
垃圾回收
Go 使用三色标记清除算法:
2. 灰色:已访问,子对象未完全访问
3. 黑色:已访问,子对象已完全访问
使用 pprof 分析
go
1import _ "net/http/pprof"23go func() {4 http.ListenAndServe(":6060", nil)5}()访问 http://localhost:6060/debug/pprof/heap 分析内存使用。
优化技巧
2. 使用 sync.Pool 复用对象
3. 避免不必要的指针
4. 减少内存逃逸