¿Cómo puede un disco linux estar lleno, pero los archivos total a significanly menos?

df informa de la partición de 16G al 100%. du en informes de raíz sobre 1G en archivos. ¿De dónde salió todo mi espacio en disco?

Los archivos pueden ocultarse por un punto de montaje.

(Un programa programado (copia de seguridad) debe haber ejecutado mientras que tenía el volumen secundario fuera de línea para el mantenimiento, y recreó alegremente su estructura de directorio en lugar de fallar.)

Además de la materia espacial desperdiciada que Doug discute , algunos sistemas de archivos tienen un número limitado de inodos (identificadores de archivo únicos) en total, y una vez que se han creado no hay manera de hacer nuevos archivos. Utilice df -i para ver dónde se encuentra en inodes.

Además, es posible que los sistemas de archivos ext[23] (y otros?) Reserven una fracción del disco al superusuario. Normalmente esto es sólo un pequeño porcentaje (5 es típico en los sistemas más antiguos), pero se puede establecer mucho más alto que eso. Creo que quieres usar tune2fs aquí (Mac OS y posiblemente otros unixes llama a este tunefs ) con la opción -m .

Es posible que tenga programas ejecutándose con archivos antiguos desvinculados. Esos archivos todavía se almacenan en el disco hasta que estos programas cierran, pero no se enlazarán desde el árbol del sistema de archivos.

Tenga en cuenta que esto es diferente del comportamiento de Windows, que no le permitirá eliminar dicho archivo.

¿Tiene un gran número de archivos muy pequeños? Linux (y la mayoría de los sistemas operativos) escriben archivos en bloques de tamaño de bloque (digamos 4k), y cada archivo utiliza un múltiplo de ese tamaño. Por ejemplo, si tiene un archivo de 121 bytes, todavía se utilizan 4096 bytes en el disco. El resto del espacio en ese bloque es esencialmente "desperdiciado".

Tuve este mismo problema. Tenía un problema en el que mi disco de arranque principal se estaba llenando después de realizar una sincronización de unidades de copia de seguridad.

 >rsync -avxHAXW /media/backup1 /media/backup2 

Después de esta sincronización mi disco principal estaba lleno … que me desconcertó. Resulta que accidentalmente estaba copiando archivos en mi disco de arranque, no en mi copia de seguridad2. Corregí el error, eliminado el archivo masivo en mi disco principal y reran rsync. Incluso después de desmontar y volver a montar mis discos de copia de seguridad mi disco de arranque estaba fuera de espacio. Incluso traté de limpiar archivos grandes en mi disco de arranque ….

 >find . -type f -print0 | xargs -0 du -s | sort -n | tail -25 | cut -f2 | xargs -I{} du -sh {} 

Se eliminaron los archivos grandes que ya no eran necesarios. También me aseguré de vaciar la basura.

 >empty-trash 

Después de todo ese trabajo … disco todavía lleno. Decidí reiniciar la máquina. Después del reinicio, mi partición de disco de arranque pasó de 100% completo a 10% completo! Parece que el proceso de rsync debe haber continuado funcionando en el fondo que sostiene sobre recursos del disco. No me gusta dar este consejo, pero después de hacer toda la limpieza del disco, puede que sólo tenga que reiniciar su máquina para aniquilar cualquier proceso de fondo que están colgando en los datos, evitando que el disco realmente se libere.