前几天,同事提到商用系统上出现过使用kill
命令给进程发送SIGKILL
信号,进程无法退出的问题。尽管听起来有些不可思议,但是的确发生了。由于当时的环境没有保存下来,所以现在没法debug
。我考虑了一下,如果再发生,可以使用DTrace
去检查一下问题出现在哪里。
用kill
命令给进程发送信号可以分[……]
前几天,同事提到商用系统上出现过使用kill
命令给进程发送SIGKILL
信号,进程无法退出的问题。尽管听起来有些不可思议,但是的确发生了。由于当时的环境没有保存下来,所以现在没法debug
。我考虑了一下,如果再发生,可以使用DTrace
去检查一下问题出现在哪里。
用kill
命令给进程发送信号可以分[……]
在DTrace
中,profile provider
是一种特殊的provider
,这个provider
提供的probe
起到一种类似定时器的作用。它可以根据用户设置的频率周期性地触发,这样用户就可以定期地采集感兴趣的数据,汇总以后作分析。
Profile provider
提供两种probe
:profi[......]
十一期间,在DTrace
邮件讨论组里,FreeBSD
的贡献者Mark Johnston
提出了一个issue
:因为有些DTrace
的关键字不是c/c++
的关键字,所以如果DTrace
脚本和命令分析的code
里包含这些关键字,执行就会出错。他举了个例子:FreeBSD
的g_consumer
结构体里包含了[……]
最近看到一篇古老的帖子(http://thr3ads.net/dtrace-discuss/2008/03/379528-stack-tracing-and-uregs),说是执行完一个把堆栈写坏的函数,为什么DTrace输出EBP
的值改变了,但是EIP
的值没变?我觉得很有意思,就研究了一下。下面就[……]
最近在做redis的相关工作,无意中发现Brendan Gregg大神写的度量redis处理请求延时的DTrace脚本:redisslat.d(https://github.com/brendangregg/dtrace-cloud-tools/blob/master/redis/r[……]