質問: 1ディレクトリに作れるファイル数(centos 5) webシステムのセッションデータをファイルで持とうと思うのですが、 1ディレクトリに作れる最大ファイル数に上限はありますか? 無限という人もいれば、数千個くらいで辞めておいた方がいいという人も いますが、どちらなんでしょう? centos 5です。 (すいません。ファイルシステムは不明です。)
回答: カーネル付属文書にext2の説明がありました。 以下引用です。 ============================================ 現行の単方向リンクのリストによるディレクトリの実装で、 一つのディレクトリ内のファイル数は、 実運用上約 10-15k 個が上限になります。 この制限はこのような大きなディレクトリ内のファイルを作成および削除 (さらに検索) する時のパフォーマンスの問題のためです。 ディレクトリインデックスのハッシング (開発中) を使用すれば、 パフォーマンスの問題なしに一つのディレクトリに 100k-1m+ 個のファイルが置けます (この時には ram サイズが問題になります)。 一つのディレクトリ内のファイルの (無意味な) 絶対的な上限 (ファイルサイズによって課されるもので、 現実的な制限は明白にはるかに少ない) は 130兆ファイル以上です。 ユニークなディレクトリエントリを構築するための名前は 4 文字では足りないので、 8 文字のファイル名にしなければならないということを考慮しなければもっと多くできますが、 考慮してすらユニークなファイル名を使い果たしてしまいそうです。 参考url:http://www.linux.or.jp/jf/jfdocs/kernel-docs-2.6/filesystems/ext2.txt.html