空のファイルをたくさん作成するとディスク容量が消費されますか?

空のファイルをたくさん作成するとディスク容量が消費されますか?

私たちが知っているように、空のテキストファイルのバイト数は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ピーター・コルデスこの回答に対するコメントから

おすすめ記事