私はpprofでGoアプリケーションをプロファイリングしています。pprof goアプリケーションのCPUプロファイルにサンプルがありません
アプリケーションは約4-10%のCPUを使用しており、短時間実行したままで約6-11kbのプロファイルを生成します。これは、いくつかのアクティビティをサンプリングできるはずであることを私に示唆しています。
私は結果を表示すると、しかし、私は以下を参照してください。
$ go tool pprof --text bigproc
1.77s of 1.77s total ( 100%)
flat flat% sum% cum cum%
1.77s 100% 100% 1.77s 100%
$
興味深い情報が欠落しているように見えます。何が間違っていますか?
google-perftoolsのgoバージョン1.6.1とpprofバージョン2.2.1(これが重要な場合)は、Linux上にあります。
にプログラムカウンタからなるサンプルを記録1.7秒以上、特にわずか4〜10%のCPUで。数分サンプリングしてみてください。 – JimB
私はちょっとした壁時計のようなもののためにプロセスを走らせました。私は、出力に記載されている1.77秒を推測しているので、CPUがアイドル(プログラムがブロックされているかスリープ状態になっている)時間を除いてCPU時間です。私は長い間走ってみよう! –
通常、アイドル状態のランタイムではなく、そこからできるだけ多くのサンプルを取得するためにプロファイリングしているコードパスをプロファイルするときに、プロファイルを作成します。 4-10%のCPUのみを使用している場合は、サンプルの90〜96%が良いとは限りません。 – JimB