Diferencia de valores entre salida de comandos df y du ; Diferencia de valores al ejecutar du -s entre distintos hosts/directorios

Hola compañeros de la shell,

En algunas ocasiones podemos encontrarnos con diferencias o descuadres muy significativos (del orden incluso de GB) entre la salida que devuelve el comando al revisar el tamaño de un filesystem entre el comando:

df -kh .

y el comando:

du -sh .

Habitualmente, el origen de estas diferencias reside en que se ha borrado un fichero abierto por un proceso en ejecución que todavía esté corriendo.

Para tratar de identificar el proceso culpable, podemos acotar los procesos candidatos ejecutando:

find /proc/*/fd -type f -links 0 -exec ls -lrt {} \; 2>/dev/null | awk -F"/" '{print $3}' | xargs pwdx | grep Punto_De_Montaje

Una vez localicemos y matemos el proceso culpable, el espacio se liberará. Hasta aquí la primera parte de esta entrada.

Añadimos una segunda parte para revisar que ocurre cuando observamos Diferencia de valores al ejecutar du entre distintos hosts/directorios. Antes de nada, agradecimientos a Pedro F.S. por el tip.

Imaginemos que hemos desplegado un *.tar en los hosts: host_a y host_b. Dicho tar contiene un directorio con varios ficheros. Para asegurarnos de que el tamaño del directorio es el mismo ejecutamos «du -s» y nos llevamos el siguiente chasco:

host_a#du -s foo
1727096 foo
host_b#du -s foo 
1727088 foo

El tamaño del directorio desplegado NO coincide. Esta discrepancia se debe a que el tamaño ocupado en el disco del host_a no es el mismo que el del host_b. Para realizar una comparativa más segura debemos usar el parámetro –apparent-size:

du -s --apparent-size

Para más información, consultar:

https://www.gnu.org/software/coreutils/manual/html_node/du-invocation.html#du-invocation

https://unix.stackexchange.com/questions/173947/du-s-apparent-size-vs-du-s#:~:text=The%20%22apparent%20size%22%20of%20a,to%20the%20next%20highest%20block.

Espero que os sirva.

Nos vemos al otro lado de la pantalla negra.

Esta entrada fue publicada en Sin categoría. Guarda el enlace permanente.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *