1 Star2 Stars3 Stars4 Stars5 Stars (还没有评分)
Loading...

DTraceToolkit脚本解析(7)-lockbyproc.d

lockbyproc.d位于DTraceToolkitLocks文件夹下,其功能是统计进程在获得“adaptive mutex”等待时间的总和。脚本代码就一行(略去版权信息):

lockstat:::adaptive-block { @time[execname] = sum(arg1); }

脚本代码分析如下:
定义一个以可执行程序名字(execname)为keyaggregationtime)。监听所有lockstat Provideradaptive-block probe,其中arg1参数包含的是等待时间(单位是ns)。当probe触发时,调用sum函数。最后脚本退出时,产生进程等待时间总和的统计。

执行脚本,输出如下:

bash-3.2# ./lockbyproc.d
dtrace: script './lockbyproc.d' matched 1 probe
^C

  sched                                                         19270
  java                                                         156943

可以看到,java程序等待获得mutex时间比较长。
参考资料:
(1)lockstat Provider

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.