go 的内存分析

2018-08-09  本文已影响125人  千罹

发现项目的内存占用过多,想找找原因 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) 是命令提示符

上一篇 下一篇

猜你喜欢

热点阅读