uninterruptible sleep
Roger Oberholtzer
roger
Sun Jan 7 23:18:44 PST 2007
On Fri, 2007-01-05 at 18:45 +0200, Dirk Moolman wrote:
> I am trying to troubleshoot one of my linux servers that is very slow
> lately. One thing that I worry about, is the column b (uninterruptible
> sleep) of the vmstat output, that runs up to values of about 35. But I
> do not know how to troubleshoot this any further. Searching for more
> info about uninterruptible sleep on the web, I came across this post
> (see bottom of mail).
>
> But from what I have learnt about this column (b), there could be many
> reason for processes being in this state. How would I identify the
> cause of this ?
It is not necessarily an error. A process sleeps, for example, when it
is waiting on I/O. If a process does a blocking read call and there is
nothing to read it will block until there is something to read. The
process does nothing until there is I/O activity. It is an efficient way
to wait for something without taking system resources (CPU cycles).
Depending on how the read was done, there process can wait until more
than one character is available. The read is called uninterruptable
because the read() will not complete until the requested data is
available. However, the read can be interrupted by a signal (software
interrupt) that may do something. But when that is finished, the read()
will resume. In that sense, it is uninterruptable. Most single threaded
applications act this way. I mean single threaded in that they only do
one thing, not any system thread thing.
To see what a process in this state is really doing, run:
strace -p pid
where pid is the pid of the process. I bet such processes are in a
read()-like system call.
>
> Hope you can help.
>
>
>
> POST:
>
> "I have a problem with what I believe might be related to the aic79xx
> driver.
> I'm running 2.4.33.3 kernel with default aic79xx driver version 1.3.10"
>
> [snip]
>
> " The machine is a mail server that was recently migrated to the new
> hardware
> and now the load average is constantly between 10 and 20 and sometimes
> climbs higher. top and vmstat shows lots of processes in uninterruptible
>
> sleep, which as far I understand means that the processes wait while the
> driver code to complete"
>
>
> Disclaimer: http://196.33.167.70/disclaimer
>
>
> _______________________________________________
> Linux-users mailing list ( Linux-users at linux-sxs.org )
> Unsub/Password/Etc: http://mail.linux-sxs.org/cgi-bin/mailman/listinfo/linux-users
>
> Need to chat further on this subject? Check out #linux-users on irc.linux-sxs.org !
--
Roger Oberholtzer
OPQ Systems AB
Ramb?ll Sverige AB
Kapellgr?nd 7
P.O. Box 4205
SE-102 65 Stockholm, Sweden
Tel: Int +46 8-615 60 20
Fax: Int +46 8-31 42 23
More information about the Linux-users
mailing list