私はLinuxperf_events
フレームワークを使用して、私たちのサーバーの1つにあるアプリケーションの問題を調査しようとしています。perf
ツールについて読んだことによると、スタックを収集するのは比較的簡単です。
単にN秒ごとにスタックを収集するイベントとして壁時間を使用できるかどうか疑問に思います。
現在使用しているコマンドは次のとおりです。
perf record -e cycles -T -o <dir>/samples.data -F 1 --call-graph dwarf -T -p <pid>
現在の理解によれば、コマンドは、-F 1
perfコマンドが信号によって終了するまで、1秒ごとにプロセス()でサンプリング()してスタック()を取得します。-g
-p <pid>
しかし、私が収集したデータによると、1秒あたりのサンプルセットが2つ以上あると思いますか?それで、サンプル収集方法を誤解したり誤解したようですperf
。
また、収集されるデータ量を減らすために2秒、5秒、または10秒ごとにスタックを記録するにはどうすればよいですか?これを達成する方法はありますかperf
?