Skip to content

hudangwei/GoMemoryLeakChecker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

GoMemoryLeakChecker

内存泄漏定位工具

想法来源于此篇文章实战Go内存泄露

实现思路 (放弃原因)

  • 对正在运行的程序(go语言编写),在linux环境下使用ptrace等系列调试函数,Attach进程后执行pprof.Lookup("heap")(采集pprof数据)

    优点是对正在运行的程序直接进行内存泄漏定位,无需修改程序源码,无需重新编译和重启

  • 定期采集pprof数据,通过图表方式,更直观显示出差异变化,从而定位出存在疑似问题的代码

放弃原因

  • 请查看目录app下的示例代码,即便导入了runtime/pprof包,但没有使用pprof.Lookup,go build没有把Lookup编译进去,所以不修改任何代码能采集pprof数据变得相当难,需要注入整个runtime模块方法、函数等等,放弃这种思路了,老老实实在代码里添加"net/http/pprof"的方式调试吧。

参考文献

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published