Rain Wiki · Linux

Inodes e 'No space left on device'

O que é um inode, como ver o uso de inodes com df -i e como encontrar diretórios com milhões de arquivos pequenos.

Linux · Rain Wiki

Um inode é a estrutura de dados que um sistema de arquivos estilo Unix usa para armazenar informações sobre um arquivo, como seu proprietário, permissões, tamanho e onde seus dados residem. Cada arquivo usa um inode, e muitos sistemas de arquivos possuem um número fixo, portanto, milhões de arquivos minúsculos podem causar 'No space left on device' enquanto o df -h ainda mostra espaço livre.

Como visualizar

'df -i' lista o total de inodes, bem como a quantidade de inodes usados e livres por sistema de arquivos. 'ls -i' mostra o número do inode de um arquivo, e 'stat <file>' mostra os detalhes do seu inode.

Causas típicas

Diretórios de sessão ou cache de aplicações web, filas de e-mail, arquivos de log pequenos não rotacionados e caches de compilação podem criar milhões de arquivos.

Encontrando o diretório

O GNU du pode contar inodes: 'du --inodes -x / | sort -n | tail' lista os diretórios com o maior número de entradas.

Como corrigir o esgotamento de inodes

  1. Confirme: df -i (IUse% próximo de 100%).
  2. Encontre o diretório: sudo du --inodes -x --max-depth=3 / | sort -n | tail -20
  3. Verifique o que cria os arquivos antes de excluir qualquer coisa.
  4. Remova arquivos antigos dessa aplicação com sua própria ferramenta, ou com find, por exemplo: find /path -type f -mtime +7 -delete após uma execução de teste sem o -delete.

Cuidados

  • Sempre execute o find sem -delete primeiro e leia a lista.
  • A contagem de inodes do ext4 é fixada quando o sistema de arquivos é criado.

Fontes

Última atualização: 2026-10-08

Artigos relacionados