您好,登錄后才能下訂單哦!
這篇文章主要介紹golang中cpu的性能分析示例,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
(1)time指令(linux系統下)
time go run a.go
real:從程序開始到結束,實際上度過的時間
user:程序在用戶態度過的時間
sys:程序在內核度過的時間
一般情況下,real>=user+sys
(2) /usr/bin/time 指令(linux系統下)
/usr/bin/time -v go run a.go
該指令下 可以看到 cpu占用率、 內存使用情況、 進程切換情況 、文件系統io、socket情況
(1)在程序中引入 _ "net/http/pprof" ,并開啟pprof監聽
import _
http.ListenAndServe("0.0.0.0:10000", nil)
程序結束
通過瀏覽器查看 CPU的信息和狀態
http://127.0.0.1:10000/debug/pprof
注意,等程序運??定時間,再點擊profile?件?成(?少是30s)
(2)使用pprof
go tool pprof [binary] [profile] //binary二進制文件 profile 要分析的文件
top //查看當前profile文件的cpu使用率
flat 該函數?身代碼的執?時?
flat% 該函數?身代碼的執?時?占?CPU的耗時百分?
cum 代表的是該函數?身代碼+所有調?的函數的執?時?
cum% 代表的是該函數?身代碼+所有調?的函數的執?時?,占?CPU的總耗時百分?
sum% 每??的flat%與上?所有?的flat%總和
(3)go tool pprof profile文件
啟動要調試的程序,在另一個終端執行 go tool pprof http://localhost:10000/debug/pprof/profile?seconds=60
(4)可視化結構圖
先在終端運行 go tool pprof [binary] [profile] ,然后輸入web,瀏覽器會彈出一個可視化的圖片。
以上是“golang中cpu的性能分析示例”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。