Why is intr taking up so much cpu?
Dan Nelson
dnelson at allantgroup.com
Sun Jul 18 20:31:14 UTC 2010
In the last episode (Jul 18), Doug Barton said:
> On 07/18/10 12:41, Kostik Belousov wrote:
> > When intr time starts accumulating again, try to do
> > "procstat -kk <intr process pid>" and correlate the clock thread tid
> > with the backtrace. Might be, it helps to guess what callouts are eating
> > the CPU.
>
> Will do, thanks!
You can also use dtrace to get a count of callouts and their time spent.
Run this for a few seconds then hit ^C:
#! /usr/sbin/dtrace -s
/* #pragma D option quiet */
callout_execute:::callout_start
{
this->start = timestamp;
}
callout_execute:::callout_end
{
this->end = timestamp;
/* printf("%a %d\n",args[0]->c_func, this->end - this->start); */
@times[args[0]->c_func] = quantize(this->end - this->start);
/* @times[args[0]->c_func] = lquantize(this->end - this->start,0,300000,10000); */
@counts[args[0]->c_func] = count();
}
END
{
printa("%a %@u\n", at times);
printa("%a %@u\n", at counts);
}
--
Dan Nelson
dnelson at allantgroup.com
More information about the freebsd-current
mailing list