問題タブ [pprof]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
169 参照

go - golang の pprof で自分のアプリケーション関数が表示されないのはなぜですか

私は自分のプログラムのパフォーマンス特性をデバッグしようとしているので、golang ブログのチュートリアルに従っています。しかし、自分の関数を調査したり、結果のプロファイリング出力を呼び出すことができない小さな問題が 1 つあります。このコマンドを使用してバイナリをビルドしています。

そして、go ツール pprof を使用して結果を調べると、

ご覧のとおり、[brains] パッケージに多くの時間が費やされていますが、他のパッケージと同様に、どの機能の詳細がわかりません! もちろん、私はおそらく非常にばかげた間違ったことをしているので、誰かが私の間違いに気づいたら、それを指摘していただければ非常にありがたいです:D

ps: Linux 環境でプロファイリングを行い、Macbook で分析を行っていますが、バイナリは両方の環境で静的に同じようにビルドされるため、問題にはならないと思います。

ありがとう、

ニールス

0 投票する
1 に答える
8983 参照

optimization - runtime.osyield と runtime.usleep に最も多くの時間を費やす golang プログラムを最適化する方法

私はソーシャル グラフ データを分析するコードの最適化に取り組んできました ( https://blog.golang.org/profiling-go-programsから多くの助けを借りて)。

すべてのデータは最初に db からメモリにロードされ、そこからのデータ分析は CPU バウンドのように見えます (最大メモリ消費量 < 10MB、CPU1 @ 100%)

しかし今、私のプログラムの時間のほとんどは、runtime.osyield と runtime.usleep にあるようです。それを防ぐ方法は何ですか?

私は GOMAXPROCS=1 を設定しましたが、コードはゴルーチンを生成しません (golang ライブラリが呼び出す可能性があるものを除く)。

これは、pprof からの私のトップ 10 出力です

_ /C_/code/sc_proto/* 関数は私のコードです。

そしてウェブからの出力: ウェブからの出力

(こちらの SVG バージョンのグラフ: https://goo.gl/Tyc6X4 )

0 投票する
1 に答える
1408 参照

go - Golang: Web サーバー内で pprof を使用して計算時間を取得する方法

Web サーバーを構築し、ab(apache ベンチマーク)テストを行いました。次に、各部分の計算時間を知りたいです。

を使用してgo tool pprof url:port/xxxこのプログラムのプロファイルを取得しましたが、計算時間はわかりません(メモリしかありません)。結果は次のとおりです。

私の Web プログラムでは、次のコードを追加しました。

それでもうまくいきません。

http://blog.golang.org/profiling-go-programsを確認しましたが、xxx.profファイルが混乱しました。xxx.profこのファイルを生成するにはどうすればよいですか? と作者が使っgo tool pprof xxx xxx.profていたxxxのですが、 で生成されたバイナリファイルということxxx.goですか?

とにかく、ターゲットは計算時間を取得していますが、どのように? xxx.profこの目標を達成するには、このファイルを生成する必要がありますか?

どうもありがとう

0 投票する
1 に答える
3899 参照

go - pprof ヒープ図の解釈

pprof を使用してヒープをプロファイリングすると、次のようになります。

ここに画像の説明を入力

ただし、その視覚化をどのように解釈するかについては明確ではありません。特に:

「矢印の横のメモリは_____を意味し、ボックス内のメモリは_____を意味します。したがって、ボックスに複数の矢印がある場合は_____を意味し、ボックスに複数の矢印がある場合は_____を意味します」.

0 投票する
0 に答える
96 参照

go - Go ツールの pprof リスト コマンドで「構文エラー: "(" 予期しない」が返される

コードのボトルネックを調べている cpu プロファイル ファイルがあり、top10 などのコマンドを使用すると正常に動作します。しかし、入力してソースコード一覧を見たいときは

Removeリストしたい関数はどこにありますか。次の出力が得られます。

何か案は?

0 投票する
1 に答える
293 参照

go - pprof ヒープ プロファイルの glob.func

を使用してヒープ プロファイルを実行すると、 のgo tool pprofようなエントリがいくつか表示されますgithub.com/anacrolix/utp.glob.func1。これは、私が見ることができる名前付き関数に対応していません。クロージャーだと思います。とはどういうglob意味ですか? このような名前を適切な関数に関連付けるにはどうすればよいですか?ここに画像の説明を入力

0 投票する
0 に答える
177 参照

go - パッケージからの pprof ソース情報

オープンソースの Go ライブラリのコードをローカルで実行している場合、実際にこれらのパッケージのソースも検査するpprofように依頼するにはどうすればよいでしょうか?pprof

ライブラリのGet呼び出しを調べて、ゴリラの.sessionssessions

これは、明らかに、出力です。