問題タブ [perf]
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.
linux - perf ロック プロファイルのユーザー空間ミューテックスはありますか?
まとめ:perf lockプロファイルは pthread_mutex ですか?
詳細:
ツールperfにはオプションがありますperf lock。マニュアルページには次のように書かれています:
しかし、実行しようとするperf lock recordと、次のエラーが表示されましたinvalid or unsupported event: 'lock:lock_acquire'。私が見たところ、エラーはおそらくカーネルがCONFIG_LOCKDEPorでコンパイルされていないことが原因のようですCONFIG_LOCK_STAT。
私の質問はperf lock、ユーザー空間ロック (pthread_mutex など) に関連するイベントを報告するのか、それともカーネル ロックのみを報告するのかということです。主にユーザー空間で実行されるアプリケーションのプロファイリングに興味があります。perf のこのオプションは面白そうだと思いましたが、新しいカーネルをコンパイル (または取得) しないと実行できないので、試す前にそれが何をするかをよりよく理解したいと思っています。
perf - zalloc によるメモリの割り当て
Linux カーネル ソースの perf ソースを調べて、ユーザー空間のプローブがどのように実装されているかを調べます。多くの場所で、私はこれに遭遇しました:
zlib ライブラリ (fedora 18 用) にあると思います。この zalloc がメモリの割り当てにどのように役立つか誰か教えてもらえますか? 前もって感謝します...
android - Linux perf stat ツールがゼロの命令カウントを返します。ここで何が欠けていますか?
新しい Galaxy S4 電話で基本的なパフォーマンス データを取得しようとしています。私はすでにカスタム カーネルをコンパイルしており、Odin を使用してデバイスにフラッシュすることができました。これらは、有効にした perf ツールに関連するカーネル モジュールです。
また、perf ツールをクロスコンパイルしました。問題は、次のコマンドを実行したときです。
出力が正しくないようです。
CPUポリシーを「ユーザースペース」に設定して、次のことを行いました:
すべてのコアが常に最大周波数で動作していることを確認するため。
助けていただければ幸いです。
解決策のない同様のケースへのリンクは次のとおりです 。 15020-pmu-in-cortex-a8-omap-3530-what-am-i-doing-wrong/
関連する stackoverflow トピック: ARM Cortex-A8 プロセッサでプログラムの実行時間を測定する方法は?
linux - Linux の perf ツールで L3 キャッシュのヒットとミスをキャッチする方法
Linux の perf ツールで L3 キャッシュのヒットとミスをキャッチする方法はありますか。の出力によるとperf list cache、L1 および LLC キャッシュがサポートされています。perf のソース コードのperf_evsel__hw_cache配列の定義によると、次のようになります。
LLC は L2 キャッシュのエイリアスです。私の質問は、Linux の perf ツールで L3 キャッシュのヒットとミスをキャッチする方法です。前もって感謝します!
performance - CPUキャッシュのパフォーマンス。ストアミスとロードミス
基本的なイベント カウンターとして perf を使用しています。私は、データ キャッシュ ストア ミスに悩まされているプログラムに取り組んでいます。%80の比率と同じくらい高いです。
原則としてキャッシュがどのように機能するかを知っています。さまざまなミスケースでメモリからロードし、必要に応じてキャッシュからデータを削除します。私が理解していないのは、ストアとロードのミスの違いです。読み込みと保存はどのように異なりますか。どのようにミスを保存できますか?
linux - perf はカーネルでシンボルを見つけることができますが、プログラムでシンボルを見つけることができません。修正方法は?
この質問を読んだことがあるかもしれません: プログラムでシンボルを見つけるために perf を取得するにはどうすればよいですか?
1) 私の質問は:
perf report を使用すると、次のような結果が得られます。
つまり、パフォーマンスはカーネルでシンボルを見つけることができますが、プログラムでシンボルを見つけることができません。
私のプログラムはここにあります:
2)次のようにプログラムをコンパイルしました:
gcc test.c -g -o テスト
私の環境: os:ubuntu カーネル:3.10.9
linux - パフォーマンス アノテーション、ソース コードのみの表示
Perf を使用してプロファイリングの実験を行っています。
ただし、特定のコード領域の結果を知りたいのですが、この場合、ソース コード (この場合は C/C++) の各行の結果 (パーセンテージ) を確認すると、作業が容易になります。
perf annotateASM+ソース コードを表示するビューがあり、ソース コードの表示をオフにするオプションもあります。このオプションのもう一方の目的を達成する方法、つまり、ソースコードとその行ごとのイベントの割合のみを表示し、ASM 出力を非表示にする方法を知りたいです。これは可能perfですか?
それを行うための他のツールの提案はありますか? Vtune も使用していますが、実行したくない分析が機能していません。Valgrind は問題外です。遅すぎます。
Ubuntu 13.04 を実行している x64 を使用しています。
linux-kernel - これらのトレース イベントは何を表していますか?
ftrace と perf の使い方を学んだばかりですが、それらに共通していて理解できないことがいくつかあります。トレース イベントです。それらはいくつかのカーネル内部関数であると思います.ftraceは、それらが有効になっている場合、呼び出されたときにそれらの名前を記録します. そうですか?すべてのイベントは、以下にリストされているグループに分類されます。彼らが何を表しているのか、どこで詳細な情報を入手できるのか誰か教えてくれませんか? どうも。