
システム全体(例:グローバルstrace
)から発行されたシステムコールの数を数えるツールはありますか? (まるで仮想マシンの状態1秒あたりの割り込みまたはコンテキストスイッチの数)
答え1
1つの可能性は、システムコールを計算するために使用することですperf
。毎秒ごとに総数を更新するには、次の手順を実行します。
perf stat -e raw_syscalls:sys_enter -a -I 1000 sleep 5
これにより、5秒間に1秒あたりのシステムコールの総数が表示されます。このsleep 5
コマンドは、トレースが継続する期間を決定します。この-I
パラメータは、カウントが出力される頻度を決定します。
perf
通貨はタイプ別に計算することもできます。
perf stat -e 'syscalls:sys_enter_*' -a -I 1000 sleep 5
top
または、2秒ごとに更新されるシステムコールの数ごとにすべてのプロセスを示す同様のビュー:
perf top -e raw_syscalls:sys_enter -ns comm