Di solito (es:ext2
, ext3
, ext4
, ufs
), il numero di inode che un file system può contenere viene impostato al momento della creazione in modo che nessuna opzione di montaggio possa aggirarlo.
Alcuni filesystem come xfs
avere il rapporto di spazio utilizzato dagli inode regolabile in modo che possa essere aumentato in qualsiasi momento.
File system moderni come ZFS
o btrfs
non hanno limitazioni hardcoded sul numero di file che un file system può memorizzare, gli inode (o il loro equivalente) vengono creati su richiesta.
Modifica:restringimento della risposta alla domanda aggiornata.
Con tmpfs
, il numero predefinito di inode viene calcolato per essere sufficientemente grande per la maggior parte dei casi d'uso realistici. L'unica situazione in cui questa impostazione non sarebbe ottimale sarebbe se venisse creato un numero elevato di file vuoti su tmpfs
. In tal caso, la migliore pratica è modificare il nr_inodes
parametro su un valore abbastanza grande da contenere tutti i file ma non utilizzare 0
(=illimitato). tmpfs
la documentazione afferma che questa non dovrebbe essere l'impostazione predefinita a causa del rischio di esaurimento della memoria da parte di utenti non root:
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.
Tuttavia, non è chiaro come ciò possa accadere dato il fatto tmpfs
L'utilizzo della RAM è limitato per impostazione predefinita al 50% della RAM:
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.
Molte persone saranno più preoccupate per la quantità predefinita di memoria a una quantità che corrisponda a ciò che richiede la loro applicazione.