Rain Wiki · Linux

Inodos y "No hay espacio en el dispositivo"

Qué es un inodo, cómo ver el uso de inodos con df -i y cómo encontrar directorios con millones de archivos pequeños.

Linux · Rain Wiki

Un inodo es la estructura de datos que un sistema de archivos de estilo Unix utiliza para almacenar información sobre un archivo, como su propietario, permisos, tamaño y dónde se encuentran sus datos. Cada archivo utiliza un inodo y muchos sistemas de archivos tienen un número fijo, por lo que millones de archivos diminutos pueden provocar el error "No hay espacio en el dispositivo" mientras que df -h sigue mostrando espacio libre.

Cómo consultarlo

'df -i' enumera los inodos totales, usados y libres por sistema de archivos. 'ls -i' muestra el número de inodo de un archivo y 'stat <file>' muestra los detalles de su inodo.

Causas típicas

Los directorios de sesiones o cachés de aplicaciones web, las colas de correo, los archivos de registro pequeños no rotados y las cachés de compilación pueden crear millones de archivos.

Cómo encontrar el directorio

GNU du puede contar inodos: 'du --inodes -x / | sort -n | tail' enumera los directorios con más entradas.

Cómo solucionar el agotamiento de inodos

  1. Confirmar: df -i (IUse% cerca del 100 %).
  2. Encontrar el directorio: sudo du --inodes -x --max-depth=3 / | sort -n | tail -20
  3. Comprobar qué crea los archivos antes de eliminar nada.
  4. Eliminar los archivos antiguos de esa aplicación con su propia herramienta, o con find, por ejemplo: find /path -type f -mtime +7 -delete tras una prueba simulada sin -delete.

Precauciones

  • Ejecute siempre find primero sin -delete y revise la lista.
  • El recuento de inodos de ext4 se fija cuando se crea el sistema de archivos.

Fuentes

Última actualización: 2026-10-08

Artículos relacionados