about the "wdrain" state

Dan Nelson dnelson at allantgroup.com
Fri Mar 12 08:02:48 PST 2004


In the last episode (Mar 12), Jimmy Olgeni said:
> When I move a lot of data on the disk (like untarring a new ports
> collection or /usr/src/) the process works fine for a while, then
> takes a long pause, then restarts again. When it "pauses", pressing
> ^T shows it's in the "wdrain" state, which looks related to waiting
> for the disk to finish some write operations. Unfortunately, the 5i
> controller has a somewhat poor performance by itself so that may be
> the cause.
> 
> Are there any kernel tunables that I could change to at least
> "spread" the pauses over many small intervals, rather than locking
> the process for a few seconds? The volume is using softupdates, I
> thought about changing kern.filedelay and friends but I'd like to
> know if there are sensibile values to put in before I fry the
> production server :)

Depending on how much memory you have, I think raising
vfs.hirunningspace might help here.  It will allow more write buffers
to build up before the system decides it needs to flush some.  Take a
look at the waitrunningbufspace() function in /sys/kern/vfs_bio.c, or
do a web search for "hirunningspace"

-- 
	Dan Nelson
	dnelson at allantgroup.com


More information about the freebsd-questions mailing list