Artículos Guías Manuales Sistemas Linux Windows Redes MySql Binario 0 Binario Cero
![]()
En sistemas Linux, quedarse sin inodos puede provocar errores graves incluso aunque todavía exista espacio libre en disco. Este problema es habitual en servidores con muchos ficheros pequeños (logs, colas de correo, cachés, sesiones web, etc.).
Este artículo explica qué son los inodos, cómo detectar su agotamiento y cómo localizar y limpiar ficheros de forma segura, paso a paso.
¿Qué es un inodo?
Un inodo es una estructura de datos que almacena la información de un fichero:
- Propietario
- Permisos
- Tamaño
- Fechas (creación, modificación, acceso)
- Punteros a los bloques de datos
Cada archivo o directorio consume 1 inodo, independientemente de su tamaño.
Síntomas de agotamiento de inodos
Aunque el disco no esté lleno, puedes encontrar errores como:
No space left on device- Fallos al crear archivos temporales
- Servicios que dejan de funcionar (Apache, MySQL, Postfix, etc.)
Comprobar el uso de inodos
Uso global de inodos
df -iSalida de ejemplo:
Filesystem Inodes IUsed IFree IUse% Mounted on
/dev/sda1 6553600 6549000 4600 100% /Si IUse% está cercano o al 100%, tienes un problema de inodos.
Localizar dónde se consumen los inodos
Buscar directorios con más archivos
sudo du --inodes-d1 /Esto muestra el número de inodos usados por directorio en la raíz.
Ejemplo:
1200000 /var
30000 /etc
15000 /homeNormalmente, el problema suele estar en /var o /tmp.
Analizar un directorio concreto
Ejemplo con /var:
sudo du --inodes-d1 /varContinúa bajando niveles hasta encontrar el directorio problemático:
sudo du --inodes-d1 /var/logContar número de archivos
find /var/log -type f | wc-lEsto permite confirmar si hay millones de ficheros pequeños.
Casos habituales de consumo excesivo de inodos
Logs sin rotar
/var/log- Aplicaciones personalizadas
Cachés
/var/cache- Cachés de paquetes (
apt,yum,dnf)
Directorios temporales
/tmp/var/tmp
Aplicaciones web
- Sesiones PHP
- Caché de WordPress / frameworks
Limpieza segura de inodos
Advertencia: nunca borres archivos del sistema sin verificar su función.
Limpiar logs antiguos
sudo find /var/log -type f -name"*.log"-mtime +30-deleteO comprimirlos:
sudo logrotate -f /etc/logrotate.confLimpiar caché de paquetes
Debian / Ubuntu:
sudo apt cleanRHEL / CentOS / Rocky:
sudo dnf clean allLimpiar directorios temporales
sudo find /tmp -type f -mtime +7-delete
sudo find /var/tmp -type f -mtime +7-deleteEliminar archivos vacíos
sudo find /var -type f -empty-deleteVerificación tras la limpieza
df -iConfirma que el porcentaje de inodos usados ha disminuido.
Prevención del problema
Configurar rotación de logs
Verifica logrotate:
sudo systemctl status logrotate.timerMonitorización
- Configurar alertas de inodos en herramientas como:
- Zabbix
- Prometheus
- Nagios
Sistemas de archivos separados
Separar:
/var/tmp
Permite aislar problemas de inodos.
Conclusión
El agotamiento de inodos es un problema silencioso pero crítico en Linux. Con una metodología estructurada, es posible:
- Detectarlo rápidamente
- Identificar el origen
- Limpiar de forma segura
- Prevenir futuras incidencias
Una buena política de logs, caché y monitorización evita este problema en producción.



