Date: Wed, 22 Nov 2006 19:41:46 +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: <200611230341.DAA04594@sopwith.solgatos.com> In-Reply-To: Your message of "Wed, 22 Nov 2006 21:37:33 EST." <20061123023733.GA46545@xor.obsecurity.org>
next in thread | previous in thread | raw e-mail | index | archive | help
> > > > > > time ls on a small directory on disk2 > > > > > >=3D3D20 > > > > > > real 4m51.911s > > > > > > user 0m0.000s > > > > > > sys 0m0.002s > > > > > >=3D3D20 > > > > > > 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. > > > > > >=3D3D20 > > > > > > Sometimes I see long delays when accessing disk3, but it is > > > > > > behaving at the moment. > > > > >=3D20 > > > > > 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 ot= > her > > > > > processes all competing for these locks, it will be slow. It looks > > > > > like that's the case on your system, although details of your workl= > oad > > > > > have been trimmed from your email. > > > >=3D20 > > > > In telnet window 1: > > > >=3D20 > > > > cd /disk1/ > > > > cp -ip very_big_file /disk2/bar/ (the workload) > > > >=3D20 > > > > In telnet window 2: > > > >=3D20 > > > > 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) > > > >=3D20 > > > > The /disk2/ directory is small, only contains 3 directories and .snap > > > >=3D20 > > > > Would the cp into /disk2/bar/ lock the /disk2/ directory? > > >=20 > > > It shouldn't do. > > >=20 > > > What scheduler are you using? > >=20 > > kern.sched.name: 4BSD > > kern.sched.quantum: 100000 > > kern.sched.preemption: 1 > > OK, that's correct. Can you also provide details of your disk > hardware (e.g. dmesg) and kernel configuration? FreeBSD 6.0 Kernel is stock except for addition of: device atapicam # needed to burn dvd /boot/loader.conf: console="comconsole" hw.ata.wc=0 hw.ata.atapi_dma="1" kern.ipc.nmbclusters="256000" Mainboard: Tyan Tomcat k8e 2865 CPU: AMD64 3000+ Chipset: Nvidia nforce4 ultra Memory: 2 GB DDR400 ECC Disks: 4x Seagate 7200 rpm SATA 1x Seagate 7200 rpm PATA 1x LG CD/DVD atapci0: <nVidia nForce4 UDMA133 controller> port 0x1f0-0x1f7,0x3f6,0x170-0x177,0x376,0xe000-0xe00f at device 6.0 on pci0 ata0: <ATA channel 0> on atapci0 ata1: <ATA channel 1> on atapci0 atapci1: <nVidia nForce4 SATA150 controller> port 0x9f0-0x9f7,0xbf0-0xbf3,0x970-0x977,0xb70-0xb73,0xcc00-0xcc0f mem 0xfebfb000-0xfebfbfff irq 10 at device 7.0 on pci0 ata2: <ATA channel 0> on atapci1 ata3: <ATA channel 1> on atapci1 atapci2: <nVidia nForce4 SATA150 controller> port 0x9e0-0x9e7,0xbe0-0xbe3,0x960-0x967,0xb60-0xb63,0xb800-0xb80f mem 0xfebfa000-0xfebfafff irq 11 at device 8.0 on pci0 ata4: <ATA channel 0> on atapci2 ata5: <ATA channel 1> on atapci2 acd0: DVDR <HL-DT-ST DVDRAM GSA-4160B/A301> at ata0-master UDMA66 ad2: 305245MB <Seagate ST3320620A 3.AAC> at ata1-master UDMA100 ad4: 238475MB <Seagate ST3250823AS 3.03> at ata2-master SATA150 ad6: 238475MB <Seagate ST3250823AS 3.03> at ata3-master SATA150 ad8: 238475MB <Seagate ST3250823AS 3.03> at ata4-master SATA150 ad10: 305245MB <Seagate ST3320620AS 3.AAC> at ata5-master SATA150 cd0 at ata0 bus 0 target 0 lun 0
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611230341.DAA04594>