Geralmente (ex: ext2
, ext3
, ext4
, ufs
), o número de inodes que um sistema de arquivos pode conter é definido no momento da criação, portanto, nenhuma opção de montagem pode contorná-lo.
Alguns sistemas de arquivos como xfs
têm um rácio de espaço usado por inodes para que possa ser aumentado a qualquer momento.
Sistemas de arquivos modernos, como ZFS
ou btrfs
, não têm limitação rígida no número de arquivos que um sistema de arquivos pode armazenar, inodes (ou seus equivalentes) são criados sob demanda.
Editar: estreitando a resposta para a pergunta atualizada.
Com tmpfs
, o número padrão de inodes é calculado para ser grande o suficiente para a maioria dos casos de uso realistas. A única situação em que essa configuração não seria ideal seria se um grande número de arquivos vazios fosse criado em tmpfs
. Se você estiver nesse caso, a melhor prática é ajustar o parâmetro nr_inode
para um valor grande o suficiente para todos os arquivos caberem, mas não use 0
(= unlimited). A documentação do tmpfs
indica que essa não deve ser a configuração padrão por causa do risco de exaustão de memória por usuários não-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.
No entanto, não está claro como isso pode acontecer, dado que o fato de tmpfs
de uso da RAM é limitado por padrão a 50% da 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.