When running top interactively, I can see various words in the state column :
Some like nanslp or kqread are self explanatory, others are not.
Tried Mr man pages :
STATE is the current state (one of "START", "RUN" (shown as "CPUn" on SMP systems), "SLEEP", "STOP", "ZOMB", "WAIT", "LOCK" or the event on which the process waits), C is the processor number on which the process is executing (visible only on SMP systems)
Tried search engines :
Where may I get a complete list of possible process state under FreeBSD 9, and their meanings?
A bit further in the top
man page there is:
If a process is in the "SLEEP" or "LOCK" state, the state column will report the name of the event or lock on which the process is waiting. Lock names are prefixed with an asterisk "*" while sleep events are not
So basically, all the non-capital "STATE", non prefixed with an asterisk are sleep events name.
These label are set in FreeBSD kernel, so this is where you should go to find their meaning.
Sadly there is no nice summary as the event name is set by the sleep
calls.
For instance, somewhere in /usr/src/sys/kern/sys_pipe.c
in the pipe_read
function:
error = msleep(rpipe, PIPE_MTX(rpipe), PRIBIO | PCATCH, "piperd", 0);
Or in /usr/src/sys/kern/sys_pipe.c
in the kern_nanosleep
function:
error = tsleep(&nanowait, PWAIT | PCATCH, "nanslp", tvtohz(&tv));
External links referenced by this document: