On Mon, Oct 19, 2009 at 6:47 AM, Matt V. <opensolaris....@mygaia.org> wrote:
> Hi,
>
> On a Solaris 10 server, with 'top' command, we have:
> CPU states: 28.9% idle, 14.2% user, 56.9% kernel,  0.0% iowait,  0.0% swap
>
> How to know where is spent kernel usage please ?
>
> Thank you in advance.
> Matt

There are a number of things you can look at.  You can count the
syscalls that are being made:

syscall:::entry
{
    @[probefunc] = count();
}

If one syscall stands out in this output, you can track it down to who
is making it.  For example, if it were the read(2) system call:

syscall::read:entry
{
    @[execname] = count();
}

You could also replace execname with pid or the tuple "pid, execname"
if you need to know exactly which process.

If you're comfortable looking at stack traces, the following will give
you a good feel for where the kernel is spending all of its time:

profile-997
/ arg0 && curthread->t_pri != -1 /
{
    @[stack()] = count();
}

END
{
    trunc(@, 40);
}

Chad
_______________________________________________
perf-discuss mailing list
perf-discuss@opensolaris.org

Reply via email to