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