私たちが知っているように、空のテキストファイルのバイト数は0です。
ただし、それぞれに次のものが含まれています。メタデータ、私の研究によると、それは次の場所に保存されています。インデックスノードとスペースを活用する。
これを考慮すると、純粋に空のテキストファイルを作成してディスクを埋めることが可能であることが論理的に見えます。そうですか?もしそうなら、1 GBのディスクを埋めるためにいくつの空のテキストファイルが必要ですか?
いくつかの確認のために実行してみましたが、df -i
これは重量ではなく使用されたinodeの割合(?)を示しているようです。
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 947470 556 946914 1% /dev
tmpfs 952593 805 951788 1% /run
/dev/sda2 28786688 667980 28118708 3% /
tmpfs 952593 25 952568 1% /dev/shm
tmpfs 952593 5 952588 1% /run/lock
tmpfs 952593 16 952577 1% /sys/fs/cgroup
/dev/sda1 0 0 0 - /boot/efi
tmpfs 952593 25 952568 1% /run/user/1000
/home/lucho/.Private 28786688 667980 28118708 3% /home/lucho
ベストアンサー1
この出力は28786688
完全なinodeを提案し、その後、ルートファイルシステム(デバイス)にファイルを作成しようとすると、次の「デバイスに残りのスペースがありません」を/dev/sda2
返します。ENOSPC
説明:元の* nixファイルシステム設計では、ファイルシステムが作成されたときに最大inode数が設定されました。専用スペースが割り当てられます。データスペースが不足する前に inode が不足する可能性があり、その逆も同様です。ほとんどの一般的なネイティブLinuxファイルシステムには、ext4
これらの制限があります。 ext4のinodeサイズの詳細については、mkfs.ext4のマンページを参照してください。
Linuxはこれらの制限なしに他のファイルシステムをサポートしています。では、btrfs
空間が動的に割り当てられます。 「inode構造は比較的小さく、組み込みファイルデータや拡張属性データは含まれません」(外部3/4)拡張属性のためにインデックスノード内にいくつかのスペースを割り当てます。)。もちろん、メタデータ/カタログ項目を作成しすぎると、ディスク容量が不足する可能性があります。
考えてみてください。 tmpfsは動的に割り当てられたinodeの別の例です。df -i
実際、これらのファイルシステムについて報告された最大inode数が何を意味するのかを知ることは困難です。表示された値には意味がありません。
XFSは動的にinodeを割り当てます。JFSも同じです。reiserfsも同じです。F2FSも同じです。持っていますが、これは例外ではなくルールです。
しかし、XFSを使用すると、inodeで使用される最大スペース比率の制限を設定できるため、既存のファイルに追加できなくなる前にinodeが不足する可能性があります。(FSの場合、デフォルトは25%です)未満のファイルシステムの場合は5%、50TBを超えるファイルシステムの場合は1%)にもかかわらず、メタデータ(inodeと範囲マップ)のスペース使用量は一般的ですdf -h
。ピーター・コルデスこの回答に対するコメントから