Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 02 Jan 2003 09:01:27 -0500
From:      "MikeM" <MyRaQ@mgm51.com>
To:        freebsd-questions@FreeBSD.ORG
Subject:   Lots of files in a directory
Message-ID:  <200301020901270548.09C1C68B@sentry.24cl.com>

next in thread | raw e-mail | index | archive | help
I'm considering setting up my server as a mirror site for the freedb.org
lookup database.  Unfortunately, I've seem to have run into a stumbling
block.  The server app requires over 250,000 files in a single directory.
Each file is about 2k in size.

It was a surprise to me (but probably not to those on this list) that the
file system does not handle that many files in an expeditious manner (I'm
being kind here). 

Is there anything I can do so that the file system works faster with such a
large number of files?  I'm looking for an increase in the area of 5 to 1.
 For example, the command "rm -rf misc" where "misc" is the directory
containing the 250,000 files takes a couple of hours to run.  If "misc" is
my current working directory, and I type "rm *" I get the message that
there are too many arguments being passed into rm.



Some details:
FreeBSD 4.5, dmesg below.
Filesystem containing the files: /dev/da0s1f on /usr (ufs, local, with
quotas)


Copyright (c) 1992-2002 The FreeBSD Project.
Copyright (c) 1979, 1980, 1983, 1986, 1988, 1989, 1991, 1992, 1993, 1994
	The Regents of the University of California. All rights reserved.
FreeBSD 4.5-RELEASE-p20 #12: Sat Sep 28 11:03:59 EDT 2002
    [snip]:/usr/obj/usr/src/sys/STABLE4FW
Timecounter "i8254"  frequency 1193182 Hz
CPU: Pentium III/Pentium III Xeon/Celeron (797.48-MHz 686-class CPU)
  Origin = "GenuineIntel"  Id = 0x686  Stepping = 6
  Features=0x383fbff<FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MC
A,CMOV,PAT,PSE36,MMX,FXSR,SSE>
real memory  = 805224448 (786352K bytes)
avail memory = 778473472 (760228K bytes)
Preloaded elf kernel "kernel" at 0xc0468000.
Pentium Pro MTRR support enabled
md0: Malloc disk
npx0: <math processor> on motherboard
npx0: INT 16 interface
pcib0: <ServerWorks NB6635 3.0LE host to PCI bridge> on motherboard
pci0: <PCI bus> on pcib0
pci0: <S3 Savage 4 graphics accelerator> at 1.0
fxp0: <Intel Pro 10/100B/100+ Ethernet> port 0x2200-0x223f mem
0xfea00000-0xfeafffff,0xfeb7f000-0xfeb7ffff irq 10 at device 2.0 on pci0
fxp0: Ethernet address 00:06:29:1f:27:61
inphy0: <i82555 10/100 media interface> on miibus0
inphy0:  10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
isab0: <ServerWorks IB6566 PCI to ISA bridge> at device 15.0 on pci0
isa0: <ISA bus> on isab0
atapci0: <ServerWorks ROSB4 ATA33 controller> port 0x700-0x70f at device
15.1 on pci0
ata0: at 0x1f0 irq 14 on atapci0
ohci0: <OHCI (generic) USB controller> mem 0xfeb7e000-0xfeb7efff irq 7 at
device 15.2 on pci0
usb0: OHCI version 1.0, legacy support
usb0: <OHCI (generic) USB controller> on ohci0
usb0: USB revision 1.0
uhub0: (unknown) OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 2 ports with 2 removable, self powered
pcib1: <ServerWorks NB6635 3.0LE host to PCI bridge> on motherboard
pci1: <PCI bus> on pcib1
ahc0: <Adaptec aic7892 Ultra160 SCSI adapter> port 0x2300-0x23ff mem
0xeffff000-0xefffffff irq 9 at device 3.0 on pci1
aic7892: Ultra160 Wide Channel A, SCSI Id=7, 32/255 SCBs
orm0: <Option ROM> at iomem 0xc0000-0xc9fff on isa0
fdc0: direction bit not set
fdc0: cmd 3 failed at out byte 1 of 3
atkbdc0: <Keyboard controller (i8042)> at port 0x60,0x64 on isa0
vga0: <Generic ISA VGA> at port 0x3c0-0x3df iomem 0xa0000-0xbffff on isa0
sc0: <System console> at flags 0x100 on isa0
sc0: VGA <16 virtual consoles, flags=0x100>
sio0 at port 0x3f8-0x3ff irq 4 flags 0x10 on isa0
sio0: type 16550A, console
sio1: configured irq 3 not in bitmap of probed irqs 0
ppc0: parallel port not found.
IP packet filtering initialized, divert disabled, rule-based forwarding
disabled, default to deny, logging limited to 10 packets/entry by default
acd0: CDROM <CRN-8241B> at ata0-master using PIO4
Waiting 15 seconds for SCSI devices to settle
pass2 at ahc0 bus 0 target 8 lun 0
pass2: <IBM FTlV1 S2 0> Fixed Processor SCSI-2 device 
pass2: 3.300MB/s transfers
da0 at ahc0 bus 0 target 0 lun 0
da0: <IBM-PSG DDYS-T18350M  M S9AA> Fixed Direct Access SCSI-3 device 
da0: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing
Enabled
da0: 17357MB (35548320 512 byte sectors: 255H 63S/T 2212C)
da1 at ahc0 bus 0 target 1 lun 0
da1: <IBM-ESXS ST336605LC    !# B243> Fixed Direct Access SCSI-3 device 
da1: 160.000MB/s transfers (80.000MHz, offset 63, 16bit), Tagged Queueing
Enabled
da1: 34715MB (71096640 512 byte sectors: 255H 63S/T 4425C)
Mounting root from ufs:/dev/da0s1a







To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message




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