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 ?

Kan
  • 29
  • 1
  • 4

1 Answers1

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.

David Schwartz
  • 31,215
  • 2
  • 53
  • 82