`perf stat`オプション `--cpu`は実際に何を表示しますか?

`perf stat`オプション `--cpu`は実際に何を表示しますか?

--cpuオプションを理解しようとしていますperf-stat。マニュアルページには次のように記載されています。

提供されたCPUのリストにのみ依存してください。複数のCPUをスペースなしでカンマ区切りリスト(0,1)として提供できます。 CPU範囲は-:0-2で指定します。スレッド固有モードでは、このオプションは無視されます。システム全体のモニタリングをイネーブルにするには、-a オプションがまだ必要です。デフォルトはすべてのCPUを使用することです。

このオプションを使用してプログラムを実行するCPUを制御できますか?と入力すると、--cpu 0プログラムはCPU 0でのみ実行されますか?それ以外の場合、このオプションの値は何ですか(このオプションを実行するたびに結果が異なる可能性があるためperf stat)。

答え1

値は--cpu返す必要があるCPU統計です。これは実行できますが、バイナリ自体が同じCPUで実行されるという意味ではありません。


単一CPUが必要な場合:

perf-stat --cpu 0

CPU 0の統計が返されます。


複数のCPUの場合(たとえば、2つのCPU):

perf-stat --cpu 1,2

CPU 1 と 2 の統計が返されます。


範囲:

perf-stat --cpu 0-4

0から4(0、1、2、3、4)までのCPU統計を返します。


このオプションを使用してプログラムを実行するCPUを制御できますか? --cpu 0を入力すると、プログラムはCPU 0でのみ実行されますか?

CPU 0の統計のみを返すプログラムを使用している場合は、そのプログラムが--cpu 0CPU 0でのみ実行されることを保証せず、ドキュメントのどこにも同じCPUで実行されるという言及はありませんが、それでも可能です。

編集する:

テストを通して--cpu

関連情報