use pprof to get application  memory  useage 

add code in your main funciton

import (
 "log"
 _ "net/http/pprof"
)

func main() {
  go func() {
          log.Println(http.ListenAndServe("localhost:6060", nil))
  }()
}

build and compile you application.

 let application run and send request  then run 

#get  memory useage 
go tool pprof -inuse_space http://127.0.0.1:6060/debug/pprof/heap
go tool pprof ./yourbinaryname  localhost:6060/debug/pprof/profile

your can use help ,or  top N to get top  memory use function .

use "svg"  or "web"  to print  detail information .and need graphviz

sudo yum  install -y graphviz 

or mac 

brew install graphviz

if not generate svg ,down  tar file    and  use this command to get svg  ,after you can  open svg in  browser :

go tool pprof  /Downloads/mv-w.1/pprof.xxx.localhost:6060.samples.cpu.001.pb

 

if you are in production mode:

just use wget :  

wget http://localhost:9181/debug/pprof/heap
wget http://localhost:9181/debug/pprof/profile?seconds=100 -O profile-pprof

#then you can sz files to local and  generate  svg or png
go tool pprof  heap
go tool pprof profile-pprof


then input  svg/png/help;

  

 

相关文章:

  • 2021-03-29
  • 2021-03-30
  • 2021-04-01
  • 2021-06-11
  • 2023-04-04
  • 2021-10-20
  • 2022-12-23
猜你喜欢
  • 2021-05-11
  • 2021-09-18
  • 2022-12-23
  • 2021-12-15
  • 2021-06-01
  • 2022-12-23
相关资源
相似解决方案