Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 22 Nov 2006 11:02:54 +0000
From:      Dieter <freebsd@sopwith.solgatos.com>
To:        freebsd-questions@freebsd.org
Subject:   Re: processes not getting fair share of available disk I/O (was: Re: TCP parameters and interpreting tcpdump output ) 
Message-ID:  <200611221902.TAA14770@sopwith.solgatos.com>
In-Reply-To: Your message of "Wed, 22 Nov 2006 11:52:38 EST." <20061122165238.GA37819@xor.obsecurity.org> 

next in thread | previous in thread | raw e-mail | index | archive | help
In message <20061122165238.GA37819@xor.obsecurity.org>, Kris Kennaway writes:

> > > I'm surprised that you're seeing that much of a "hang".  Even if the di=
> sks
> > > are busy, the system should slow down all disk processes equally, so no
> > > one process "blocks", but they're all a little slower.
> >=20
> > I collected a bit of data:
> >=20
> > While copying a large file from disk1 to disk2,
> >=20
> > time ls on a small directory on disk3 (not cached in memory)
> >=20
> > real    0m0.032s
> > user    0m0.000s
> > sys     0m0.003s
> >=20
> > time ls on a small directory on disk2
> >=20
> > real    4m51.911s
> > user    0m0.000s
> > sys     0m0.002s
> >=20
> > I expect access to a busy disk to take longer, but 5 minutes is
> > a bit much.  And that's the root directory of the filesystem,
> > it didn't have to follow a long chain of directories to get there.
> >=20
> > Sometimes I see long delays when accessing disk3, but it is
> > behaving at the moment.
> 
> ls still has to acquire a number of locks in order to be sure that the
> contents of the directory aren't changing.  If there are lots of other
> processes all competing for these locks, it will be slow.  It looks
> like that's the case on your system, although details of your workload
> have been trimmed from your email.

In telnet window 1:

cd /disk1/
cp -ip very_big_file /disk2/bar/	(the workload)

In telnet window 2:

time ls /disk3/foo1/  (make sure time and ls are cached in memory)
time ls /disk3/foo2/  (see timing numbers above)
time ls /disk2/       (see timing numbers above)

The /disk2/ directory is small, only contains 3 directories and .snap

Would the cp into /disk2/bar/ lock the /disk2/ directory?
IIRC the cp was still running after the ls completed.

Other than the cp and ls, the machine should have been idle.
None of the three disks have /, /usr, /var, /home or similar
filesystems likely to have stray I/O.  The crontab directory
is empty.



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611221902.TAA14770>