
少し前に、ホームディレクトリに誤って数十万のファイルを作成し、その後削除してしまいました。
しかし、それ以来、ホーム ディレクトリで ls を実行すると、非常に遅くなりました (印刷に数十秒かかります)。他のディレクトリでも遅くなりました (印刷に 1 秒かかります)。また、タブ補完もどこでも遅くなりました (これも数十秒かかります)。
何が問題なのでしょうか?
編集:コメントで示唆されているように、
~/ -maxdepth 1 | wc を見つける
67であり、df -hの出力は
/dev/sda2 74G 8.4G 62G 12% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
udev 3.9G 12K 3.9G 1% /dev
tmpfs 795M 1.1M 794M 1% /run
none 5.0M 0 5.0M 0% /run/lock
none 3.9G 4.9M 3.9G 1% /run/shm
none 100M 52K 100M 1% /run/user
/dev/sda1 825G 408G 376G 53% /home
AFS 8.6G 0 8.6G 0% /afs
/dev/sdb2 1.9T 584G 1.3T 32% /media/sj1/ResearchData1
/dev/sdc1 932G 409G 524G 44% /media/sj1/ResearchData2
答え1
私も同じ問題を抱えていましたが、その理由はネットワーク ドライブ フォルダーへのリンクが機能しなくなっていたためです。
これがあなたに当てはまるかどうかを確認するには、次のリンクのリストを取得してください:
find . -maxdepth 1 -type l -ls
ls
それぞれ試してください。壊れたものはロックされるls
ので、Ctrl + C を押して中止します。
削除するとrm
すべてが即座に読み込みを開始します。
答え2
ls -1 -f /directory
ディレクトリ内に膨大な数のファイルがある場合に試してください。
-1
ファイル名を 1 行に 1 つずつリストします。-f
ソートを無効にします。
答え3
数十万のファイルを作成すると、ファイルが削除されても必ずしも削除されないファイルシステムのエクステントが多数作成される可能性があります。次の方法で「断片化スコア」を取得します。
sudo e4defrag -c ~/
スコアが悪い場合(たとえば 50 を超える場合)は、同じコマンドを '-c' フラグなしで使用してファイルシステムをデフラグします。
答え4
ほとんどのファイルシステムは、削除後にディレクトリを圧縮しません。私にとってうまくいったのは、これに対する答えです。古い質問:
- 新しいフォルダを作成する
- 既存のファイルとフォルダを新しいフォルダにコピーする
- 遅いフォルダを削除する
- 新しいフォルダ名を古いフォルダ名に変更します