计算发出的系统调用的数量

计算发出的系统调用的数量

是否有任何工具可以计算整个系统中例如一秒钟内发出的系统调用的数量(例如全局strace)? ( 就好像是虚拟机状态每秒中断或上下文切换的数量)

答案1

一种可能性是使用 来计算系统调用perf。如果您只想要每秒更新的全局计数,请运行

perf stat -e raw_syscalls:sys_enter -a -I 1000 sleep 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

相关内容