本文主要是介绍go 使用pprof查看内存分布,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、引入依赖
"runtime/pprof"
"github.com/labstack/echo/v4"
二、在main方法中,新启一个协程,启动http接口
go func() {e := echo.New()e.POST("/api/mem", func(c echo.Context) error {log.Info("start export mem")f, err := os.Create("mem.prof")if err != nil {log.Errorf("could not create memory profile: ", err)return err}defer f.Close()if err := pprof.WriteHeapProfile(f); err != nil {log.Errorf("could not write memory profile: ", err)}log.Info("generate mem.prof suncces")return c.JSON(200, struct {OK bool}{OK: true})})err = e.Start(":9889")}()
三、调用接口,生成prof文件后,下载到本地,然后本地启动http页面,观察内存分布
go tool pprof -http=:9090 ./mem.prof
这篇关于go 使用pprof查看内存分布的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!