通常 (例:ext2
、 ext3
、 ext4
、 ufs
)、ファイル システムが保持できる inode の数は作成時に設定されるため、マウント オプションで回避することはできません。
xfs
のようないくつかのファイルシステム いつでも増加できるように、inode によって使用されるスペースの比率を調整可能にします。
ZFS
のような最新のファイル システム または btrfs
ファイル システムに格納できるファイル数にハードコーディングされた制限はなく、inode (または同等のもの) はオンデマンドで作成されます。
編集:更新された質問への回答を絞り込みます。
tmpfs
で の場合、inode のデフォルト数は、ほとんどの現実的なユース ケースに十分な大きさになるように計算されます。この設定が最適でない唯一の状況は、多数の空のファイルが tmpfs
で作成された場合です。 .その場合、ベストプラクティスは nr_inodes
を調整することです 0
を使用せずに、すべてのファイルが収まるのに十分な大きさの値にパラメータを設定します (=無制限)。 tmpfs
ドキュメントには、ルート以外のユーザーによるメモリ不足のリスクがあるため、これをデフォルト設定にすべきではないと記載されています:
if nr_inodes=0, inodes will not be limited. It is generally unwise to
mount with such options, since it allows any user with write access to
use up all the memory on the machine; but enhances the scalability of
that instance in a system with many cpus making intensive use of it.
ただし、tmpfs
という事実を考えると、これがどのように発生するかは不明です RAM の使用量は、デフォルトで RAM の 50% に制限されています:
size: The limit of allocated bytes for this tmpfs instance. The
default is half of your physical RAM without swap. If you
oversize your tmpfs instances the machine will deadlock
since the OOM handler will not be able to free that memory.
多くの人は、デフォルトのメモリ量をアプリケーションの要求に一致する量にすることについて、より心配するでしょう.