高いinodeパーティションでディレクトリを一覧表示する速度を上げるには?

高いinodeパーティションでディレクトリを一覧表示する速度を上げるには?

あるディレクトリに約7,000個のファイルがあるため、特定のディレクトリをロードするのは面倒で時間がかかります。複数のサブフォルダにファイルを分散させるよりも難しくするよりも、ディレクトリ内のファイルをすばやく一覧表示して作業する方法はありますか?

ext4を使用しています。しかし、efsファイルシステムでも同じ情報を受け取りました。

ベストアンサー1

大きなディレクトリは、単にファイルをリストする以外の多くの理由で問題になる可能性があります。一方、ファイルが見つかるまでディレクトリを読み取る必要があるため、このディレクトリでファイルを開くのに必要な時間が長くなります。 ext *を含む多くのファイルシステムでは、ディレクトリエントリは検索効率のために設定または最適化されていません。

あなたの特定の質問に答えるには、関連するソートが原因でlsを使用するのに時間がかかることがわかります。解決策は、lsをソートされていない状態で実行することです(lsディストリビューションにそのようなオプションがある場合)。特に、ファイルのソートを解除してソートすることもできます。その後、他のls操作を実行せずにファイルを参照できます。

別の同様のアプローチは、findコマンドを使用してディレクトリの内容をファイルにリストし(ファイルはソートされていない)、そこから移動することです。

したがって、アクセシビリティ、効率性、およびファイルの検索の容易さに基づいて複数のサブディレクトリを使用することをお勧めします。

おすすめ記事