On Wed, Jan 09, 2002 at 02:58:17PM -0800, Brian Pane wrote: > On FreeBSD, is there a way to look at the syscalls active within the > kernel at a point in time? On Solaris, running "adb -k" and using the > "$<threadlist" macro will give a stack trace of each thread in the > kernel--a mix of internal kernel threads and the threads executing the > internal implementation of each currently executing syscall. If you > have something similar in FreeBSD, it should show whether daedalus has > a lot of syscalls blocked on, say, some global mutex within the kernel.
Not to detract from this discussion, but aren't only runnable kernel threads going to contribute to the run queue length? If we have a process blocking in a syscall, my understanding is that it isn't runnable and won't contribute to the load average. We need a bunch of processes waiting on a resource, like network, paging/memory, disk, or CPU to get the load average up that high. Does anyone have a trace of the network/IO/disk/CPU metrics during one of these load spikes? -aaron
