# 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.

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

- [inode(7)](https://man7.org/linux/man-pages/man7/inode.7.html)
- [df(1)](https://man7.org/linux/man-pages/man1/df.1.html)
- [du(1)](https://man7.org/linux/man-pages/man1/du.1.html)
- [find(1)](https://man7.org/linux/man-pages/man1/find.1.html)

Última atualização: 2026-10-08
URL: https://raincleaner.eu/pt/wiki/linux/inodes
