Inodes Esgotados: Por Que o Linux Mostra “No Space Left on Device” Mesmo com Espaço Livre?
Você executa df -h e ainda há dezenas de gigabytes livres.
Mesmo assim, ao tentar criar um arquivo, aparece:
No space left on device
Se ainda existe espaço disponível, o problema provavelmente são inodes esgotados.
Esse erro é comum em servidores Linux que hospedam WordPress, e-mails, backups incrementais ou aplicações que geram milhares de arquivos pequenos.
O que são inodes no Linux?
Em sistemas de arquivos como ext4 e XFS, cada arquivo precisa de:
- 🔹 Blocos de dados (conteúdo)
- 🔹 Um inode (metadados)
Cada arquivo e cada diretório consomem 1 inode.
Ou seja:
1 milhão de arquivos = 1 milhão de inodes
Quando os inodes acabam, o sistema não consegue criar novos arquivos — mesmo com espaço livre em disco.
Como verificar se os inodes estão esgotados
1️⃣ Verifique o espaço em disco
df -h
2️⃣ Verifique os inodes disponíveis
df -i
Se o resultado mostrar:
IUse% 100%
O problema está confirmado: inodes esgotados.
Principais causas de inodes esgotados
Esse problema é muito comum em servidores com:
- WordPress gerando milhares de thumbnails
- Diretórios
/tmpacumulando arquivos - Sessões PHP não limpas
- Maildir com milhares de e-mails (1 e-mail = 1 arquivo)
- Backups incrementais com milhões de arquivos pequenos
- Logs sem rotação adequada
Em ambientes com DirectAdmin + CloudLinux, isso acontece com frequência quando não há política de limpeza automática.
Como resolver inodes esgotados
1️⃣ Descobrir onde estão os arquivos excessivos
Para contar arquivos por diretório:
for i in /*; do echo $i; find $i | wc -l; done
Ou focar na home:
find /home -xdev -printf '.' | wc -c
2️⃣ Limpar arquivos temporários
rm -rf /tmp/*
⚠ Sempre verifique se não há processos usando /tmp.
3️⃣ Limpar sessões PHP antigas
Normalmente em:
/var/lib/php/session
Remover sessões antigas:
find /var/lib/php/session -type f -mtime +2 -delete
4️⃣ Verificar diretórios de e-mail (Maildir)
Cada mensagem ocupa um inode.
du -sh /home/*/imap
Se houver milhões de e-mails antigos, considere arquivamento externo.
5️⃣ Ajustar rotação de logs
Revise:
/etc/logrotate.conf /etc/logrotate.d/
Quando é necessário recriar o sistema de arquivos?
Se o sistema foi criado com baixa densidade de inodes, talvez seja necessário reformatar.
Exemplo ao criar ext4:
mkfs.ext4 -T news /dev/sdX
Ou definir bytes por inode:
mkfs.ext4 -i 16384 /dev/sdX
Quanto menor o valor -i, maior o número de inodes criados.
⚠ Requer backup completo antes.
Diferença entre espaço em disco e inodes
| Recurso | Baseado em | Problema comum |
|---|---|---|
| Espaço | GB/TB | Arquivos grandes |
| Inodes | Quantidade | Muitos arquivos pequenos |
Você pode ter:
- 200GB livres
- 0 inodes disponíveis
E o servidor continuará retornando erro.
Como evitar inodes esgotados no futuro
✔ Monitorar df -i
✔ Configurar alertas de inode
✔ Limpar sessões e cache automaticamente
✔ Configurar logrotate corretamente
✔ Evitar excesso de thumbnails no WordPress
✔ Utilizar armazenamento externo (S3/MinIO)
FAQ
Significa que o sistema de arquivos atingiu o limite máximo de arquivos permitidos, mesmo que ainda exista espaço disponível.
Execute df -i. Se o uso estiver em 100%, os inodes acabaram.
Não. Em sistemas como ext4, o número de inodes é definido na formatação.
Sim. Aplicações param de criar arquivos temporários, sessões falham e serviços podem travar.
[Precisa de ajuda com outro problema?
Nossa equipe está disponível 24 horas por dia, 7 dias por semana .]
Veja Mais:
CPU ociosa com sistema lento: como identificar gargalos reais no servidor
OOM Killer no Linux: Por que o MySQL é morto e como evitar
Processos Zumbis: O que são e como limpar a tabela de processos

