Rain WikiWindows · Linux · Android

Inodos y "No hay espacio en el dispositivo"

Conceptoext4 y sistemas de archivos similares

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.

1Có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.

2Causas 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.

3Có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

  1. inode(7) man7.org
  2. df(1) man7.org
  3. du(1) man7.org
  4. find(1) man7.org

Última revisión: