syscallbyproc.d
位于DTraceToolkit的Proc
文件夹下,其功能是统计进程使用系统调用的次数。脚本代码就一行(略去版权信息):
syscall:::entry { @num[execname] = count(); }
脚本代码分析如下:
监听syscall Provider
的 entry probe
,execname
内置变量记录了进程名,作为num
这个aggregation
的key
。当probe
触发后,把num
里相应进程的统计次数加1
。
执行脚本,输出如下:
Nans-MacBook-Pro:Proc root# ./syscallbyproc.d
dtrace: script './syscallbyproc.d' matched 490 probes
^C
loginwindow 1
CVMServer 2
coreaudiod 2
CalendarAgent 3
SocialPushAgent 4
......