go 的内存分析

发现项目的内存占用过多,想找找原因 2018-08-09

使用 pprof

在程序代码里加上:

package main

import _ "net/http/pprof"
import "net/http"

func main() {
    go func() {
        http.ListenAndServe("0.0.0.0:8086", nil)
    }()
    // 这里写你的程序 or 代码入口
}

然后编译运行你的程序(最好是服务型的,就是一直运行那种,比如web程序,server程序)

打开 http://localhost:8086/debug/pprof 就是分析的数据

打开个终端,查看内存分析,输入如下:

go tool pprof http://localhost:8086/debug/pprof/heap   
进入 pprof 模式

(pprof) 模式下,可以输入 help 查看输出的方式:

输出方式

比如保存为图片:

(pprof) png > /someDir

(pprof) 是命令提示符

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。