zoukankan      html  css  js  c++  java
  • golang pprof 内存分析

    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;
    

      

  • 相关阅读:
    HTTPS-能否避免流量劫持
    安全-流量劫持能有多大危害?
    SpringBoot集成原生redis
    SpringBoot+Thyemleaf
    java项目反编译获得源码
    idea代码回退到前面的版本
    linux部署Web项目总结
    win7安装linux CentOS7双系统实践
    windows批量修改文件后缀名
    Hibernate
  • 原文地址:https://www.cnblogs.com/lavin/p/golang-pprof.html
Copyright © 2011-2022 走看看