Guía · Servidores Linux

Disco lleno en un servidor Linux:encuentra qué ocupa el espacio

Un disco lleno suele tener una o dos causas evidentes. Trabaja de arriba abajo, lee antes de borrar y nunca elimines archivos de /var/lib a mano si no sabes qué servicio es su propietario.

← Todas las guías

1. Confirma qué sistema de archivos está lleno

Ejecuta df -h. Fíjate en la columna Use% y en la columna Mounted on: el sistema de archivos lleno puede ser / o un montaje independiente como /var, /home o /data, y limpiar el equivocado no cambia nada.

Ejecuta también df -i. Un sistema de archivos puede tener espacio libre pero no inodos libres, lo que ocurre cuando se acumulan millones de archivos diminutos (sesiones, colas de correo, archivos de caché). Si IUse% está cerca del 100 %, lo que buscas son muchos archivos pequeños, no unos pocos grandes.

2. Encuentra los directorios más grandes

Ejecuta sudo du -xh --max-depth=1 / | sort -h y lee las últimas líneas. La opción -x se mantiene en un solo sistema de archivos, de modo que los discos montados y los sistemas de archivos virtuales no distorsionan el resultado. Repite el proceso dentro del directorio más grande, por ejemplo sudo du -xh --max-depth=1 /var | sort -h.

Si ncdu está instalado (sudo apt install ncdu en Debian y Ubuntu), sudo ncdu -x / te permite recorrer los mismos datos de forma interactiva.

3. Busca archivos eliminados que siguen abiertos

Si du muestra mucho menos que df, es posible que un proceso siga manteniendo abierto un archivo eliminado, a menudo un registro grande. sudo lsof +L1 lista los archivos abiertos con un recuento de enlaces igual a cero. El espacio se recupera cuando ese proceso cierra el archivo, lo que normalmente significa reiniciar el servicio que lo utiliza. Hazlo en un momento tranquilo, no en pleno pico de solicitudes.

4. Revisa los sospechosos habituales

Registros: mira en /var/log y comprueba el journal con journalctl --disk-usage. Consulta nuestra guía sobre cómo limitar el tamaño de journald si es grande.

Paquetes: sudo apt clean elimina los archivos de paquetes descargados; sudo apt autoremove lista los paquetes y los kernels antiguos que ya no hacen falta, y muestra lo que va a eliminar antes de que confirmes. Conserva el kernel en ejecución y una versión anterior.

Docker: docker system df muestra imágenes, contenedores, volúmenes y caché de compilación. docker system prune elimina los contenedores detenidos, las redes sin usar y las imágenes huérfanas; no elimina los volúmenes a menos que añadas --volumes, así que lee el mensaje antes de responder.

Snap: snap list --all muestra revisiones antiguas de snaps que están deshabilitadas y que pueden eliminarse una a una con snap remove NAME --revision=NUMBER.

5. Después de liberar espacio

Ejecuta df -h de nuevo y comprueba que los servicios que se detuvieron por el disco lleno están en ejecución (systemctl --failed). Es posible que una base de datos que llegó a un disco lleno necesite reiniciarse o revisarse antes de confiar en ella.

Después establece un límite para que no se repita: rotación de registros, un límite de journald y una alerta antes de que el disco llegue al 90 %.

Want a clearer view of storage and maintenance across your Linux servers?RainServer combines a lightweight agent with a cloud dashboard for VPS monitoring and maintenance.Try RainServer free for 7 days →  ·  All guides →

Última actualización: 2026-10-03

Preguntas rápidas

Sigue leyendo

Descargar

Pruébalo en tu propio equipo.

Gratis, sin cuenta, sin suscripción. Windows 10 y 11.