Cuando uso el comando statvfs en una máquina Linux para obtener el espacio libre disponible en un sistema de archivos montado, el número que obtengo es ligeramente diferente de lo que informa df.Discrepancia entre call a statvfs y comando df
Por ejemplo, uno en la máquina que tengo con un disco duro de 500G, me sale el siguiente salida de df:
# df --block-size=1 --no-sync
Filesystem 1B-blocks Used Available Use% Mounted on
/dev/md0 492256247808 3422584832 463828406272 1%/
tmpfs 2025721856 0 2025721856 0% /lib/init/rw
varrun 2025721856 114688 2025607168 1% /var/run
varlock 2025721856 4096 2025717760 1% /var/lock
udev 2025721856 147456 2025574400 1% /dev
tmpfs 2025721856 94208 2025627648 1% /dev/shm
Una llamada a statvfs me da un tamaño de bloque de 4096 y 119344155 bloques libres, por lo que debería haber 488,833,658,880 bytes gratis. Sin embargo, df informa que hay 463,828,406,272 bytes gratis. ¿Por qué hay una discrepancia aquí?
Ahh ... Ya veo. Sí, usando f_bavail los números son los mismos. Muchas gracias por la información. –
Estoy encontrando una discrepancia en el cálculo de porcentajes de libre. Cuando calculo (f_bavail * 100.0)/f_blocks "- Espero tener (100 - use porcentaje de df). Sin embargo - esto está fuera de 4%. El error está más allá si uso f_bfree. –