使用golang的pprof包對程式進行效能分析

來源:互聯網
上載者:User

       程式經常出現OOM錯誤,然後關鍵字"go pprof"搜到文章<Go程式效能分析pprof>,該文章第二步說運行程式後會產生profile檔案,但是編譯運行後發現產生的profile檔案大小一直為0,然後關鍵字"go pprof profile is empty"搜到文章<Golang pprof heap profile is empty>,該文章說在運行程式前添加環境變數GODEBUG="memprofilerate=1",但是好像並沒有用處。

       然後還是之前的關鍵字"go pprof"搜到文章<使用golang的pprof包對程式進行效能分析>,該文章指出"在代碼中使用pprof了,實際運用中分三種情況",因為程式並非是運行一次就退出,而是作為一個服務,所以"需要開啟一個goroutine來開啟連接埠監聽",然後參考文章<go記憶體泄露case>,注意第二步"(2)memory profile"的描述"使用--alloc_space可以顯示所有分配的對象",當使用web命令時會報錯"Cannot find dot, have you installed Graphviz?",然後關鍵字"centos Graphviz"搜到文章<Linux Centos7安裝配置畫圖工具Graphviz>,參照該文章安裝了Graphviz但是web命令依然會報錯"xdg-open: no method available for opening '/tmp/pprof-964683453/pprof001.svg'",不知道為什麼就只好把臨時的svg檔案拷貝到windows下用ie來看,不理解為什麼後面curl -T來拷貝時說該檔案不存在。

       如果程式碼中沒有`import _ "net/http/pprof"`,則執行"go tool pprof  http://localhost:6060/debug/pprof/heap"會報錯"server response: 404 Not Found"。關鍵字"inuse_space"搜到文章<golang 記憶體分析/動態追蹤>
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.