web-dev-qa-db-ja.com

ディレクトリが持つことができるファイルの数にハード制限はありますか?

CentOS 6では、ディレクトリ内に保存できるファイルの数に制限があるかどうか疑問に思っています。サブディレクトリが数百万にもなる可能性がある特定のディレクトリが1つあります。

ストレージ容量は別として、ディレクトリに含めることができるファイルの数に制限はありますか? (ここでは、「ファイル」はファイルまたはディレクトリのいずれかを意味すると想定しています)。

どうもありがとう!

15

それはあなたのファイルシステムに依存します。私はそれがext4であると仮定します:

ファイルの最大数は、ディレクトリごとではなくグローバルであり、ファイルシステムの作成時に割り当てられたiノードの数によって決まります。次のコマンドを実行して、ファイルシステムあたりのiノードの数を確認してください。

    $ df -i
    Filesystem       Inodes  IUsed    IFree IUse% Mounted on
    /dev/sdb2       7864320 388119  7476201    5% /

サブディレクトリの最大数はここ( http://en.wikipedia.org/wiki/Ext4 )によると64000のようですが、( http://kernelnewbies.org/Ext4 )-無制限であることを示します。

24
wangj

それはファイルシステムに依存します。 ext3 suppport〜32000サブディレクトリ(ファイルではありません!)とext4デフォルトでは64000です。 xfsには私の知識に制限はありません。

12
Sven

単一のディレクトリにあまり多くのファイルを置かないことを検討する必要がある、すでに正しい答えに追加したいと思います。ほとんどのソフトウェアはそれをうまく処理しません(たとえば、mcは遅くなり、多くのGUIツールは使用できなくなります)。ネストされたフォルダーの階層を作成し、何らかのアルゴリズム(ファイル名またはコンテンツのハッシュ、またはファイルを均等に分散するその他の方法)を使用してフォルダー内にファイルを分散することをお勧めします。これは、多くの成熟したプログラム(Squidなど)が行うことです。

6
skarap