book
book copied to clipboard
golang gc
您好!
我是一路跟着您的书学习过来的; 项目上,遇到了内存堆占用很高的问题;使用的go 1.7; 您书上分析的是go 1.5的源码,想请教一下 该如何学习 内存分配 和 垃圾回收??
有关内存和垃圾回收的内容,可以找一些文章看看,比如 tcmalloc 之类 的。有个大概印象,再看源码会比较好。
1.5 和 1.7 只是在局部算法细节上有些变化,总体架构变动不多。依然 可以作为阅读源码的指引。
至于堆内存过多,如果不是 “确切” 需求。那么可以考虑将一些临时变量 分配到固定的可复用内存上。对 GC 来说,对象数量才是杀手,这是无 分代标记算法固有的问题。同时,应该监控一些局部,看看有没有逃逸, 减少指针,小对象栈复制操作某些时候性能会更好。
过年好!
雨痕
在 2017年1月24日,14:10,wade lee [email protected] 写道:
您好!
我是一路跟着您的书学习过来的; 项目上,遇到了内存堆占用很高的问题;使用的go 1.7; 您书上分析的是go 1.5的源码,想请教一下 该如何学习 内存分配 和 垃圾回收??
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub, or mute the thread.
我想这些问题不了解也可以解决部分,比如,善用工具 https://www.robustperception.io/optimising-go-allocations-using-pprof/