いくつかのシンプルなオプションがありますが、これは予想されるコールグラフを得る可能性が高くなるように指定する(または指定しない)必要があることがわかりました。 たとえば、 '-a --cpu 1'を指定すると、プロファイリングしているバイナリはコールグラフに表示されません。私は(perf_text.x主にCPU 1上の1秒間スピン場所)を行う場合たとえば を:
simpleperf record -g -a -e cpu-cycles --cpu 1 ./perf_test.x -C 1 -w bw -t 1
simpleperf report -g caller
そしてperf_test.xは、出力に(私にとっては)まったく表示されません。 それを使用している場合は--cpu xオプションを削除してください。 また、高いサンプリングレートはオーバーヘッドを増加させます。以下は、現在のデフォルトサンプリングレート4000サンプル/秒で動作します。
simpleperf record -g -a -e cpu-cycles -F 4000 ./perf_test.x -C 1 -w bw -t 1
simpleperf report -g caller
上記は、サンプルの40~70%を使用するトッププロセスとしてのsimpleperfを示しています。 は、サンプリングレートを削減:総サンプルと第一simpleperfエントリの上部%までperf_test.x持ち込ま
simpleperf record -g -a -e cpu-cycles -F 1000 ./perf_test.x -C 1 -w bw -t 1
simpleperf report -g caller
は、全サンプルの24%に入ってきます。 これは役に立ちます。
出典
2017-04-11 21:59:58
Pat