問題タブ [google-perftools]
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.
c++ - Google パフォーマンス ツール (プロファイラー) のチュートリアル
Google Performance Tools のライブラリ/実行可能ファイルをダウンロードしてビルドしました。調査対象のアプリケーションで CPU プロファイラーを実行する前に、サンプル アプリケーションでツールを適切に使用する方法を学びたいと思います。Google CPU プロファイラーを実行する良い例は何ですか? 前もって感謝します。
linux - Googleperftoolはファイル「libprofiler.so.0」を読み取ることができません
CPU時間プロファイリング用のGoogleパフォーマンスツールを試しています。しかし、共有ライブラリファイル「libprofiler.so.0」が読み取れないという問題が発生しました。
グーグルパフォーマンスツールのREADMEを読みました。マニュアルには3つのステップがあります。
プログラムをでコンパイルし
-lprofiler
ます。私はこの部分を問題なく実行しました。プログラムのバイナリを実行して、プロファイル結果ファイルを生成します。
私はこのステップで失敗しました。バイナリを実行しようとすると、次のエラーメッセージが表示されます"error while loading shared libraries: libprofiler.so.0: cannot open shared object file: No such file or directory."
。
私はグーグルで検索しましたが、このページで誰かがにいると言ったので、共有ライブラリファイルをバイナリのあるディレクトリにコピーして、バイナリを実行しようとしました。それでも同じエラーメッセージが報告されます。"libprofiler.so.0"
"/usr/local/lib"
Linuxを約1年間使用したばかりですが、私の質問が非常に愚かである場合はご容赦ください。そして、よろしくお願いします。
私のマシン情報:
- OS:Ubuntu 8.10
- コンパイラ:gcc 4.3.2
- シェル:bash
- グーグルパフォーマンスツールバージョン:1.4(私はちょうど今日それをダウンロードしました)
memory-leaks - google-perftools の HEAPCHECK について
巨大なオープンソース ライブラリのリークを修正する必要があります。そのために私はgoogle-perftoolsを使用しています。現在、このライブラリは別の大きなアプリケーションにリンクされており、多くのメモリ リークが発生する可能性があります [アプリケーションからのリークを見つけることは私の目標/仕事ではありません]。アプリケーションではなくライブラリのメモリリークを取得しますか?
私が試した1つのアプローチは次のとおりです。
ライブラリを google-perftools lib にリンクしましたが、アプリケーションを明示的にリンクしていません。HEAPCHECKを有効にしてアプリケーションを実行しているときに、このエラーが発生します
チェックに失敗しました: heap_profile->FindAlloc(test_str, &size): 私たち自身の新規/削除がリンクされていませんか?
ライブラリのみのメモリリークを取得するための解決策を見つけるのを手伝ってください。
PS。私のプラットフォームは組み込み Linux で、gnu リンカと G++ コンパイラを使用しています。
google-perftools - Google プロファイラーで CPU 使用率を調べる方法
Google CPU プロファイリング ツールを使用しています。
http://google-perftools.googlecode.com/svn/trunk/doc/cpuprofile.html
ドキュメントには、それが与えられています
テキスト出力の分析
テキスト モードには、次のような出力行があります。
列を解釈する方法は次のとおりです。
- この関数のプロファイリング サンプルの数
- この関数のプロファイリング サンプルの割合
- これまでに印刷された関数のプロファイリング サンプルの割合
- この関数とその呼び出し先のプロファイリング サンプルの数
- この関数とその呼び出し先のプロファイリング サンプルの割合
- 関数名
しかし、関数の正確な CPU 使用率またはパーセンテージを示す列を理解できませんか?
Googleプロファイルを訴える関数のCPU使用率を取得するには?
c++ - グーグルHEAPPROFILERによって作成された.heapファイルからグラフを生成する方法
質問のように、私は素晴らしいgoogle perftoolsを使用していくつかの.heapファイルを作成しましたが、今はそれらを表示できません(多くの場合、vimで開くことができますが、グラフィック表現が必要です)...(ドキュメントのように)を使用してみました
pprof --gv name-of-my-program/my_heap_file.0100.heap
pprof:無効なオプション-'-' pprof:無効なオプション-'g'
c++ - WindowsでGoogleパフォーマンスツールを使用する方法
WindowsでGoogle perftoolsを使用しようとしました。VS2010 でソース コードをコンパイルし、新しいテスト プロジェクトを開始して をリンクしようとしましlibtcmalloc_minimal-debug.dll
たが、次のエラーで失敗しました。
致命的なエラー LNK1107: 無効または破損したファイル: 0x338 で読み取ることができません
私は何を取りこぼしたか?ありがとう
c++ - Windows で perftools を使用する方法
ソースの Readme.txt から、Windows システムでテストされていないことがわかります。
とにかくそれを機能させる方法を知っている人はいますか?
c++ - Google パフォーマンス ツールの CPU プロファイラーでアドレスを解釈する方法
私の C++ プログラムは大量の CPU を消費しており、実行するとさらに消費します。Google Performance Tools を使用して CPU 使用率をプロファイリングしたところ、次の結果が得られました。
ただし、ここに示されている 5 つのプロセスのうち、実際の関数名は 1 つだけです。残りはアドレスです。これらのアドレスが何に関係するかを知るにはどうすればよいですか? (もちろん、私が最も興味を持っているのは、上記の最初のアドレスです)
編集:これは私がプロファイラーを実行した方法です:
また、コードインスペクションで根本原因を突き止めました。しかし、プロファイラーがアドレスではなく原因関数を正確に特定できるようにするとなお良いでしょう。