次のコラム golang チュートリアル では、golang の CPU パフォーマンス分析について紹介します。困っている友人の役に立てば幸いです。
(1) time コマンド (Linux システム下)
time go run a.go
real: Startプログラムから最後まで、実際に費やした時間
user: プログラムがユーザー態度で費やした時間
sys: プログラムがカーネルで費やした時間
一般的な状況 real>=user sys
(2) /usr/bin/time コマンド (Linux システム下)
/usr/bin/time -v go run a.go
このコマンドで、CPU 占有率を確認できます。 、メモリ使用量、プロセスの切り替え状況、ファイルシステムのio、ソケットの状況
(1) _ "net/http/pprof"をプログラムに導入し、 pprof モニタリングを有効にする
import _
http.ListenAndServe("0.0.0.0:10000", nil)
程序结束
ブラウザから CPU の情報とステータスを確認します
http://127.0.0.1:10000/debug/pprof
注: プログラムが一定時間実行されるのを待ってから、クリックしてプロファイル ファイルを生成します ( 30 秒以上)
(2) pprof
go tool pprof [binary] [profile] //binary二进制文件 profile 要分析的文件
top //查看当前profile文件的cpu使用率
flat を使用する 関数自身のコードの実行時間
flat% 関数自身のコードの実行時間が占める割合CPU 時間の
cum は、関数自身のコードによって呼び出されるすべての関数の実行時間を表します。
cum% は、関数自身のコードによって呼び出されるすべての関数の実行時間を表します。 ⓓ、合計 CPU 使用率percentage
sum% 各行の flat% と上記すべての行の flat% の合計
(3) go tools pprof profile file
プログラムを開始しますデバッグして go tools pprof を実行します http://localhost:10000/debug/pprof/profile?seconds=60
(4) 視覚的な構造図
先在终端运行 go tool pprof [binary] [profile] ,然后输入web,浏览器会弹出一个可视化的图片。
その他の関連技術記事については、 go language チュートリアル列をご覧ください。
以上がgolangのCPUパフォーマンス解析についての詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。