Comment puis-je afficher la quantité de taille nominale de fichier réellement remplie de données? Comme vmtouch
montre la quantité de fichier actuellement en mémoire ...
Je m'attends à ce que le flux de travail soit comme ceci:
$ fallocate -l 1000000 data
$ measure_sparseness data
100%
$ fallocate -p -o 250000 -l 500000 data
$ measure_sparseness
50%
Solution: utilisez du -bsh
-les du -sh
et comparez-les.
filefrag data
-> multiples FIBMAP: Invalid argument
-> data: 1 extent found
...
filefrag -e
fonctionne parfaitement sur XFS et ext4 au moins. Je n'ai pas testé sur d'autres. Il utilise FIEMAP (carte d'extension), avec un repli sur FIBMAP. Si ioctl
cela ne fonctionne pas, cela ne sera pas utile.
filefrag
n'a pas d' -e
option.
e2fsprogs
? Je suis sûr que ce n'est pas une fonctionnalité récente. Il existe également une -v
option qui imprime les mêmes informations détaillées (plus quelques lignes d'en-tête supplémentaires). Peut-être que vous en filefrag
aurez. Contrairement à xfs_bmap
, cependant, il n'indique pas explicitement les trous avec des lignes distinctes, il a juste des discontinuités dans la position du fichier. Quoi qu'il en soit, je ne suis pas surpris que tmpfs
cela ne prenne pas en charge FIEMAP, car il n'y a pas de périphérique de bloc en tant que magasin de sauvegarde, il n'y a donc pas de valeur raisonnable pour l'emplacement des extensions.
filefrag
pour tout système de fichiers etxfs_bmap -vpl
pour XFS sont des outils clés pour montrer où se trouvent les données (et où se trouvent les extensions non écrites pré-allouées) lors de la lecture avec des fichiers clairsemés et des perforations.