Server Fault is a question and answer site for system and network administrators. It's 100% free, no registration required.

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

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

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

Your Answer


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