Linux
計算發出的系統呼叫的數量
是否有任何工具可以計算整個系統中例如在一秒鐘內發出的系統呼叫的數量(如 global
strace
)?(類似於vmstat對每秒中斷或上下文切換次數所做的事情)
一種可能性是使用
perf
. 如果你只想要一個全域計數,每秒更新一次,執行perf stat -e raw_syscalls:sys_enter -a -I 1000 sleep 5
這將顯示系統呼叫的全域計數,每秒,持續 5 秒。該
sleep 5
命令確定跟踪將持續多長時間;該-I
參數確定輸出計數的頻率。
perf
還可以按類型計算呼叫:perf stat -e 'syscalls:sys_enter_*' -a -I 1000 sleep 5
或顯示
top
所有程序的類似視圖,按系統呼叫計數,每兩秒更新一次:perf top -e raw_syscalls:sys_enter -ns comm