Estoy en una gran instancia en los servidores EC2 de Amazon. Ejecuto el comando df y obtengo:
root@db:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda1 9.9G 9.1G 284M 98% /
tmpfs 3.8G 0 3.8G 0% /lib/init/rw
varrun 3.8G 116K 3.8G 1% /var/run
varlock 3.8G 0 3.8G 0% /var/lock
udev 3.8G 80K 3.8G 1% /dev
tmpfs 3.8G 0 3.8G 0% /dev/shm
/dev/sdb 414G 957M 392G 1% /mnt
/dev/sdf 50G 12G 35G 26% /byp
/dev/sdk 99G 31G 63G 33% /backups
Luego ejecuto el comando du y obtengo:
root@db:/# du -s -h /*
31G /backups
5.5M /bin
136K /boot
12G /byp
80K /dev
5.8M /etc
12K /home
70M /lib
11M /lib32
0 /lib64
16K /lost+found
759M /mnt
4.0K /opt
du: cannot access `/proc/6917/task/6917/fd/4': No such file or directory
du: cannot access `/proc/6917/fd/4': No such file or directory
0 /proc
31M /root
7.7M /sbin
4.0K /selinux
4.0K /srv
0 /sys
11M /tmp
1.1G /usr
114M /var
Si observa, cuando suma todos los tamaños en la salida del comando du de directorios no montados, no se acercará a 9.1G como se ve en el comando df.
¿Esto significa que tengo un disco defectuoso? Si es así, ¿cómo puedo solucionarlo?
fuente
lsof +L1
a veces puede funcionar mejor que la que grep ...Hay muchas razones por las que du no es igual a df. Ver las respuestas a esta pregunta .
Algunos son montajes superpuestos, muchos archivos pequeños y un tamaño de bloque más grande, y archivos eliminados que todavía están en uso. Los montajes de superposición son cuando montaste un sistema de archivos en un punto de montaje que tenía archivos, por lo que no los ves.
La principal diferencia entre los dos es que df solo comprueba el superbloque y confía en él, mientras que du escanea todos los archivos que puede ver y los suma. Consulte este enlace de IBM para obtener información sobre el superbloque.
fuente
Siempre use la opción -x con du cuando esté persiguiendo problemas como este. Evita que du cruce los sistemas de archivos.
fuente