Golang:使用pprof调试应用

        最近在使用Golang搭建服务器,在内测过程中,偶尔遇到CPU100%的情况,为了查明原因,急需要找到一种方式查看追踪程序CPU使用情况,上网Google了一下,这篇文章讲得很详细,作者讲述了使用pprof调试程序,附原文链接:

http://cizixs.com/2017/09/11/profiling-golang-program。

使用pprof之前,需要在您的服务器程序头部引入

import _ "net/http/pprof"

然后在main方法里加入

go func() {
        http.ListenAndServe("0.0.0.0:7786", nil)
    }()

其中端口需替换成自己的,我这里用7786

启动服务之后,可在Linux命令行里直接输:

go tool pprof 服务执行文件 http://ip:7786/debug/pprof/profile

默认情况下是收集30s内的profile信息

收集完毕之后,在(pprof) 后面输入top即可查看函数执行时间和占用CPU的比例。

时间匆忙,简要整理了一下,以备后用!

你可能感兴趣的:(GO)