golangのCPUパフォーマンス解析について

藏色散人
リリース: 2020-12-25 16:04:18
転載
3006 人が閲覧しました

次のコラムgolang チュートリアルでは、golang の CPU パフォーマンス分析について紹介します。困っている友人の役に立てば幸いです。

golangのCPUパフォーマンス解析について

1. プログラムの実行時間を分析します

(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、ソケットの状況

2. golangでのCPUパフォーマンス解析

(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 サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!