Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

When running top interactively, I can see various words in the state column :

  • nanslp, biord, select, uwait, lockf, pause, kqread, piperd, sbwait ...

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?

share|improve this question
add comment

1 Answer

up vote 4 down vote accepted

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));

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.