Diferencia entre el espacio en disco del volumen y el uso del disco devuelto por ncdu

Diferencia entre el espacio en disco del volumen y el uso del disco devuelto por ncdu

Mi servidor tiene un volumen de 130 GB adjunto.

Para verificar el espacio libre en el disco, lo ejecuto df -h -x tmpfs -x squashfs | grep -v /run/sharedy obtengo:

Filesystem      Size  Used Avail Use% Mounted on
udev            965M     0  965M   0% /dev
/dev/xvda1      128G  111G   13G  90% /

Sin embargo, cuando quiero conocer los detalles del uso del disco, al ejecutarlo ncduen el directorio raíz, obtengo:

.  55,7 GiB [######### ] /home                                                                                                                           
.  24,0 GiB [####      ] /var
.   2,4 GiB [          ] /usr
    1,0 GiB [          ]  swapfile
  598,6 MiB [          ] /lib
   63,0 MiB [          ] /boot
    9,4 MiB [          ] /sbin
    9,1 MiB [          ] /bin
.   8,1 MiB [          ] /etc
.   4,3 MiB [          ] /tmp
.   2,7 MiB [          ] /run
!  24,0 KiB [          ] /root
!  16,0 KiB [          ] /lost+found
    4,0 KiB [          ] /lib64
e   4,0 KiB [          ] /opt
e   4,0 KiB [          ] /mnt
e   4,0 KiB [          ] /media
!   4,0 KiB [          ] /gandi
.   0,0   B [          ] /proc
.   0,0   B [          ] /sys
    0,0   B [          ] /dev
@   0,0   B [          ]  initrd.img.old
@   0,0   B [          ]  initrd.img
@   0,0   B [          ]  vmlinuz.old
@   0,0   B [          ]  vmlinuz
e   0,0   B [          ] /srv

Hay una diferencia de unos 27 GB con el espacio libre en disco devuelto por el comando anterior (111 GB).

¿De dónde viene esta diferencia?

Gracias.

Respuesta1

Esta pregunta surge con bastante frecuencia. La respuesta corta es duutilizar dfdiferentes métodos para obtener datos.

El sistema de archivos asigna bloques de disco en el sistema de archivos para registrar sus datos. Estos datos se denominan metadatos y no son visibles para la mayoría de los programas de nivel de usuario (como du). Ejemplos de metadatos son inodos, mapas de disco, bloques indirectos y superbloques.

ElduEl comando es un programa a nivel de usuario que no conoce los metadatos del sistema de archivos, mientras que df mira los mapas de asignación de discos del sistema de archivos y conoce los metadatos del sistema de archivos. dfobtiene estadísticas reales del sistema de archivos, mientras que du ve sólo una imagen parcial.

información relacionada