Ubuntuのext4ファイルシステムのディレクトリエントリの現在の構造を考えると、ファイルシステムに含めることができるファイルの最大数はいくつですか。
ファイルシステムに含めることができるファイルの最大数を計算する一般的な方法は何ですか?
Ubuntuのext4ファイルシステムのディレクトリエントリの現在の構造を考えると、ファイルシステムに含めることができるファイルの最大数はいくつですか。
ファイルシステムに含めることができるファイルの最大数を計算する一般的な方法は何ですか?
回答:
ext4には理論上40億ファイルの制限があり、各ファイルを識別するために使用するiノード番号のサイズによって制限されます(ext4は32ビットiノード番号を使用します)。ただし、Johnが言うように、ext4はinodeテーブルを静的に割り当てるため、ファイルシステムの作成時に実際の制限が設定されます。
dfコマンドは、ファイルシステム上の空きiノードの数を表示します。
$ df -i
Filesystem iused ifree %iused Mounted on
/dev/disk0s3 55253386 66810480 45% /
/dev/disk1s3 55258045 66805821 45% /Volumes/Clone
Ext4は、ディレクトリごとに無制限の数のサブディレクトリもサポートしますが、デフォルトでは64,000の制限があります。これは設定可能です-Kernel Newbiesのext4の記事を参照してください。
詳細については、新しいext4ファイルシステム: 2007 Linuxシンポジウムの現在の状況と将来の計画を参照してください。
それ自体はありません。場合によります。ext4ファイルシステムを作成するときに、iノードテーブルのサイズを決定します。これは、ファイルシステムが一度に保持できるディレクトリまたはファイルの総数を決定します。
Ubuntuではなく、300万個のファイルを含むディレクトリに対して実行すると、findなどのRedhat Linuxの基本的なコマンドが「引数が多すぎます」というエラーで失敗します。パラメーターが含まれていない場合、lsは正常に実行されますが、フィルターパラメーターが追加されるとすぐに同じエラーで失敗します。
このような基本的なコマンドの信頼性が必須要件であると仮定すると、300万個のファイルが多すぎることをお勧めします。
tune2fs -l /path/to/device
制限が与えられたファイルシステムのためにあるものを見つけるためにiノード・カウント値のため、ルック