¿Cómo saco cuánto tamaño nominal del archivo está realmente lleno de datos? Como vmtouchmuestra la cantidad de archivo que hay actualmente en la memoria ...
Espero que el flujo de trabajo sea así:
$ fallocate -l 1000000 data
$ measure_sparseness data
100%
$ fallocate -p -o 250000 -l 500000 data
$ measure_sparseness
50%
Solución: el uso du -bshy el du -shy los comparan.
filefrag data-> múltiple FIBMAP: Invalid argument-> data: 1 extent found...
filefrag -efunciona perfectamente en XFS y ext4 al menos. No he probado en otros. Utiliza FIEMAP (extensión-mapa), con un respaldo a FIBMAP. Si esos ioctls no funcionan, entonces no será útil.
filefragno tiene -eopción.
e2fsprogs? Estoy bastante seguro de que no es una característica reciente. También hay una -vopción que imprime la misma información detallada (más algunas líneas de encabezado adicionales). Quizás tu filefragtengas eso. Sin xfs_bmapembargo, a diferencia de esto, no indica explícitamente agujeros con líneas separadas, solo tiene discontinuidades en la posición del archivo. De todos modos, no me sorprende que tmpfsno sea compatible con FIEMAP, porque no hay un dispositivo de bloque como almacén de respaldo, por lo que no hay un valor razonable para la ubicación de las extensiones.
filefragpara cualquier sistema de archivos yxfs_bmap -vplpara XFS son herramientas clave para mostrar dónde están los datos (y dónde están las extensiones no escritas preasignadas) cuando se juega con archivos dispersos y perforaciones.