2

I have a directory (my_dir) which has 20 sub directories. Every time I run 'ls' or try to autocomplete a file name in this directory my IO usage goes to 100% and it takes very long time (10 mins) to list 20 sub directories.

Here is some background for it. Some time ago, I created millions of small files in this directory (By mistake). Then I deleted those small files (all of them). But now I am seeing this problem.

How can I fix it ?

1
  • Results fox fsck /dev/hda..? (Replace the device with your hard drive.) Commented Feb 23, 2012 at 12:07

1 Answer 1

4

Move everything in the directory in to another directory. Remove the original directory. Recreate the original directory. Move everything back.

You are using a filesystem that can't shrink directories.

There's always e2fsck -D which will optimize all directories on the filesystem.

1
  • +1 - Learn something new every day..
    – Kyle Smith
    Commented Feb 23, 2012 at 12:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .