extremely slow "ls" on a cleared fatty ext3 directory on FC4/5

Brian Chadwick brianchad at westnet.com.au
Sun Aug 13 07:37:41 UTC 2006


Robinson Tiemuqinke wrote:
> Hi,
>
>  A stupid flat directory /tmp holding 5 millon files,
> the directory locates on a ext3 file system with
> dir_index feature turned on. The running Linux are FC4
> and FC5.
>  
>  The files are just directly under /tmp, not in any
> subdirectories -- they are results of mis-operations
> of users.
>
>  Then a 'ls' or 'find' command will take one hour to
> finish, a lot of other applications on the computer
> boxes are affected. 
>
> I managed to have deleted the files one by one with a
> 'find . |xargs rm -rf' similar command in about 10
> hours. but after a file system sync, it still take me
> 20 minutes to list the cleaned /tmp directory again --
> even now the directory holds only 8 files total.
>
> so I try to 'ls' the directory itself (not any files
> and subdirectories on it) and find that its size is
> stupidly large (it is 131M even after deletion)
> compared with 4K for normal directories.
>
> -bash-3.00# ls -alFdh /tmp*
> drwxrwxrwt  4 root  staff 4.0K Aug 12 23:17 new_tmp/
> drwxrwxrwt  4 root  staff 131M Aug 12 20:30 tmp/
>
> Anyone know why the former fatty directory still looks
> unchanged and takes hours to traverse even after
> 99.999999% files got removed? 
>
> If there are any ways to fix this kind of problem
> without rebooting machine? I'm afraid of the commands
> "rsync -avHn /tmp/ /new_tmp/; rm -rf /tmp/ && mv
> /new_tmp/ /tmp" because other applications are
> accessing /tmp/ as well.
>
> Please help. Thanks a lot.
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam?  Yahoo! Mail has the best spam protection around 
> http://mail.yahoo.com 
>
>   
i wonder ... i have noted that the journal file can get pretty big ... 
for instance on a devoted /tmp partition, do a "df" on the directory 
after deleting everything and note that there is still substantial use 
of space which is the journal... but i havent had zillions of files 
deleted before to be able to see wot happens  to the size of this 
journal... but i think its something to do with that big journal ..... 
you can test this by remounting the partition as ext2, not ext3 ... then 
the journal is ignored.. i am betting ls would be quick..  if your /tmp 
is a separate partition i would "umount" it, then reformat it with 
"mke2fs -j /dev/hdx", the remount it ....

thats my hard fix ....but i am no expert .... i look forward to more 
knowledgable critters to shed light.

no responsibility accepted :) ... but i am sure my HARD fix will work 
... but maybe not shed light




More information about the fedora-list mailing list