Cómo optimizar el espacio de almacenamiento en Linux
15 min de lectura - 22 de mayo de 2026

Técnicas prácticas para recuperar y optimizar el espacio en disco en servidores Linux, desde la limpieza de la caché de paquetes hasta el ajuste del sistema de archivos y el mantenimiento automatizado.
Cómo optimizar el espacio de almacenamiento en Linux
Durante años, la respuesta habitual a un disco lleno era sencilla: añadir más almacenamiento. El almacenamiento era barato. Ya no es así. Los precios de la memoria flash NAND se han disparado desde finales de 2025, impulsados por la demanda de infraestructura de IA que consume la capacidad de producción mundial. Los precios de los contratos de SSD para empresas subieron entre un 85 % y un 90 % solo en el primer trimestre de 2026, las unidades NVMe para consumidores han duplicado aproximadamente su precio de venta al público y no se espera que la nueva capacidad de producción de NAND entre en funcionamiento hasta 2027.
El resultado: cada gigabyte de tu servidor cuesta más que hace un año, lo que hace que optimizar lo que ya tienes sea una inversión mucho mejor que comprar más capacidad. En esta entrada se explica cómo averiguar qué está ocupando tu espacio en disco, limpiarlo y configurar tu sistema de archivos para utilizar el almacenamiento de forma más eficiente.
Descubrir qué está utilizando tu disco
Empieza con df -h para obtener una instantánea de todos los sistemas de archivos montados, incluyendo el tamaño total, el espacio utilizado y el porcentaje de uso. Cualquier partición por encima del 90 % requiere atención. Comprueba las particiones específicas individualmente si es necesario:
df -h /
df -h /bootNo pase por alto los inodos. Un sistema de archivos puede tener espacio libre pero no inodos disponibles, lo que provoca los mismos fallos. Compruébelo con df -i.
Si df muestra un 100 % de uso pero los números no cuadran, es probable que tengas archivos fantasma. Se trata de archivos que se han eliminado pero que siguen abiertos por un proceso en ejecución. El espacio no se recuperará hasta que el proceso libere el identificador del archivo. Encuéntralos con:
sudo lsof / | grep deletedUna vez que sepa qué sistemas de archivos están bajo presión, profundice en los directorios con du o ncdu. Para comprobaciones rápidas o scripts, du es la herramienta adecuada:
du -h --max-depth=1 /varAñade -x al escanear desde la raíz para permanecer en un único sistema de archivos y omitir montajes virtuales como /proc. Para la exploración interactiva en un servidor remoto, ncdu te ofrece una interfaz de texto navegable en la que puedes ordenar por tamaño y eliminar archivos directamente.
| Característica | du | ncdu |
|---|---|---|
| Interfaz | Salida estática de la línea de comandos | TUI interactiva con navegación mediante teclas de flecha |
| Ideal para | Creación de scripts y comprobaciones rápidas | Exploración manual en servidores remotos |
| Ordenación | Requiere canalización a sort | Integrado (por tamaño, nombre, etc.) |
| Eliminación de archivos | Comando rm comando | Integrado (pulsa d) |
Borrado de cachés de paquetes, registros y duplicados
Hay tres áreas que suelen ocupar la mayor parte del espacio recuperable: las cachés de paquetes, los archivos de registro y los archivos grandes o duplicados.
Cachés de paquetes y dependencias huérfanas
Cada instalación o actualización deja archivos de paquetes almacenados en caché. Con el tiempo, estos se acumulan silenciosamente. Límpialos según tu distribución:
| Tarea | Debian/Ubuntu (APT) | Fedora/RHEL (DNF) | Arch (Pacman) |
|---|---|---|---|
| Borrar caché | sudo apt clean | sudo dnf clean all | sudo paccache -r |
| Eliminar archivos huérfanos | sudo apt autoremove | sudo dnf autoremove | pacman -Rs $(pacman -Qdtq) |
| Purgar configuraciones sobrantes | sudo apt autoremove --purge | Gestionado por autoremove | N/A |
Previsualiza primero los cambios con sudo apt autoremove --dry-run. Los kernels antiguos pueden ocupar 1,5 GB o más en los sistemas Ubuntu. Mantén siempre el kernel en ejecución y una copia de seguridad antes de eliminar las versiones anteriores.
Si utiliza Snap o Flatpak, estos también acumulan revisiones y archivos de ejecución:
sudo snap set system refresh.retain=2
flatpak uninstall --unusedArchivos de registro en /var/log
Los registros son los acaparadores de espacio en disco silenciosos más comunes. Busca primero los registros de gran tamaño:
du -xhd1 /var/log | sort -h
find /var/log -type f -size +100MPara los registros de systemd, utiliza la herramienta vacuum integrada en lugar de eliminar los archivos manualmente:
sudo journalctl --vacuum-size=500MPara establecer un límite permanente, edita /etc/systemd/journald.conf:
SystemMaxUse=500M
MaxRetentionSec=14dayPara los archivos de registro activos que un servicio mantiene abiertos, no utilices rm. El espacio no se liberará mientras el proceso mantenga el descriptor de archivo. En su lugar, trunca:
sudo truncate -s 0 /var/log/syslogArchivos grandes y duplicados
Busca archivos de más de 500 MB en todo el sistema:
sudo find / -type f -size +500M -exec ls -lh {} +Para los duplicados, rmlint utiliza comparaciones basadas en hash para detectar archivos duplicados, directorios vacíos y enlaces simbólicos rotos. Revisa cuidadosamente el resultado antes de eliminar nada, especialmente en servidores donde archivos idénticos pueden desempeñar funciones diferentes.
Optimización a nivel del sistema de archivos
Tras limpiar los archivos, puedes sacar más espacio útil del mismo hardware ajustando tu sistema de archivos.
Reducción del espacio reservado de ext4
Por defecto, ext4 reserva el 5 % del sistema de archivos para la raíz. En una partición de datos de 2 TB, eso supone 100 GB inactivos. En un servidor dedicado donde la partición de datos no es el sistema de archivos raíz, puede reducir esto de forma segura:
sudo tune2fs -m 1 /dev/sdXnEsto establece la reserva en un 1 %, lo cual es suficiente para la mayoría de los casos de uso. Verifique el cambio con tune2fs -l /dev/sdXn.
Compresión transparente de Btrfs
Btrfs admite la compresión transparente de archivos, algo que ext4 y XFS no ofrecen. Monta con compress=zstd para comprimir los datos automáticamente al escribirlos. ZSTD ofrece un buen equilibrio entre velocidad y ratio. Para cargas de trabajo con archivos mixtos, compress-force=zstd puede ofrecer un ahorro adicional del 10-20 % al comprimir archivos que la heurística normalmente omitiría.
Para comprimir los datos existentes en un volumen Btrfs:
btrfs filesystem defragment -czstd /path/to/dirTenga cuidado con esto en volúmenes que tengan instantáneas o reflinks. La desfragmentación rompe las relaciones de «copia al escribir», lo que en realidad puede aumentar el uso del disco.
Enlaces de referencia para copias instantáneas
Tanto XFS como Btrfs admiten enlaces de referencia, que crean copias de archivos que comparten bloques físicos hasta que se modifica una de las copias. Esto resulta útil para clonar imágenes de disco de máquinas virtuales o capas de contenedores sin duplicar el consumo de almacenamiento:
cp --reflink=always source.img clone.imgAprovisionamiento ligero de LVM
El aprovisionamiento ligero de LVM le permite asignar más espacio lógico del que tiene físicamente, consumiendo espacio real en disco solo a medida que se escriben los datos. Esto resulta valioso cuando se ejecutan múltiples máquinas virtuales o contenedores que necesitan cada uno su propio volumen lógico, pero que no los llenarán todos simultáneamente.
Para evitar que los grupos de aprovisionamiento ligero se agoten, habilite la extensión automática en /etc/lvm/lvm.conf configurando thin_pool_autoextend_threshold y thin_pool_autoextend_percent.
Automatización del mantenimiento del almacenamiento
Las limpiezas manuales funcionan una sola vez. Las automatizadas mantienen tus discos en buen estado desde ahora hasta la próxima vez que inicies sesión. Utiliza systemd temporizadores siempre cron siempre que sea posible. Registran la salida journalctl automáticamente, y Persistent=true se pone al día con las ejecuciones perdidas tras un reinicio.
| Herramienta | Herramienta | Frecuencia |
|---|---|---|
| Rotación de registros | logrotate | Diaria o semanal |
| Aspirado del diario | journalctl --vacuum-time | Semanal |
| Limpieza de la caché de paquetes | apt clean / dnf clean all | Mensual |
| Eliminación de archivos temporales | systemd-tmpfiles | Diario |
| Poda de Docker | docker system prune | Semanal |
| Supervisión del uso del disco | Script personalizado + temporizador de systemd | Cada 15-30 min |
Docker merece una atención especial. Los registros de los contenedores pueden crecer sin ninguna advertencia visible. Limita el tamaño de los registros de forma global editando /etc/docker/daemon.json. Configura max-size y max-file en la log-opts clave para evitar que los contenedores individuales llenen el disco.
Para una supervisión proactiva, configura un sistema de alertas de dos niveles: una advertencia al 80 % de uso del disco y una alerta crítica al 90 %. Registra el uso del disco cada hora para poder seguir las tendencias de crecimiento y predecir cuándo una partición alcanzará su capacidad máxima:
0 * * * * df --output=source,size,used,pcent >> /var/log/disk_usage.csvUna medida de seguridad más: monta /var, /tmpy /home en particiones separadas. Esto evita que los registros descontrolados o los datos de usuario consuman el sistema de archivos raíz y provoquen un fallo en todo el sistema.
Aprovechar cada gigabyte
Con el aumento de los precios del almacenamiento y sin que se espere un respiro hasta que la nueva producción de NAND entre en funcionamiento en 2027, optimizar lo que tienes no es solo una buena práctica. Supone un ahorro real de dinero. El enfoque es sencillo:
- Audita el uso de tu disco con
df,du, yncduantes de realizar cualquier cambio. - Borra las cachés de los paquetes, rota los registros y elimina los duplicados para recuperar espacio de inmediato.
- Optimice su sistema de archivos. Reduzca los bloques reservados de ext4, habilite la compresión de Btrfs o utilice el aprovisionamiento dinámico de LVM para sacar más partido al mismo hardware.
- Automatiza el mantenimiento con los temporizadores de systemd para que tus discos se mantengan limpios entre auditorías.
- Supervise las tendencias de uso y configure alertas al 80 % y al 90 % para detectar problemas de forma temprana.
Si necesitas una infraestructura de servidores dedicados con almacenamiento NVMe de alto rendimiento, los servidores dedicados de FDC están diseñados para ello.
Por qué es importante tener un VPS potente y sin contador
¿Necesita un rendimiento fiable y tráfico ilimitado? Un potente VPS sin contador le ofrece la velocidad, escalabilidad y ancho de banda que necesita, sin preocuparse por los límites de uso.
3 min de lectura - 9 de mayo de 2025
Cómo optimizar el espacio de almacenamiento en Linux
15 min de lectura - 22 de mayo de 2026