Wie gebe ich aus, wie viel von der nominalen Dateigröße tatsächlich mit Daten gefüllt ist? Wie vmtouch
zeigt, wie viel Datei derzeit im Speicher ist ...
Ich erwarte, dass der Workflow so aussieht:
$ fallocate -l 1000000 data
$ measure_sparseness data
100%
$ fallocate -p -o 250000 -l 500000 data
$ measure_sparseness
50%
Umgehung: Verwenden Sie du -bsh
und du -sh
und vergleichen sie.
filefrag data
-> mehrere FIBMAP: Invalid argument
-> data: 1 extent found
...
filefrag -e
funktioniert perfekt auf XFS und ext4 mindestens. Ich habe nicht an anderen getestet. Es verwendet FIEMAP (Extent-Map) mit einem Fallback auf FIBMAP. Wenn diese ioctl
nicht funktionieren, wird es nicht nützlich sein.
filefrag
hat keine -e
Option.
e2fsprogs
? Ich bin mir ziemlich sicher, dass es keine neue Funktion ist. Es gibt auch eine -v
Option, die die gleichen ausführlichen Informationen ausgibt (plus einige zusätzliche Kopfzeilen). Vielleicht wirst filefrag
du das haben. Im Gegensatz dazu xfs_bmap
weist es keine expliziten Löcher mit getrennten Linien auf, sondern weist nur Diskontinuitäten in der Dateiposition auf. Wie auch immer, ich bin nicht überrascht, dass tmpfs
FIEMAP nicht unterstützt wird, da es kein Block-Gerät als Backup-Speicher gibt, sodass es keinen sinnvollen Wert für die Position der Extents gibt.
filefrag
für jedes Dateisystem undxfs_bmap -vpl
für XFS sind sie wichtige Tools, um zu zeigen, wo sich die Daten befinden (und wo sich die vorab zugewiesenen ungeschriebenen Speicherbereiche befinden), wenn Sie mit spärlichen Dateien und Lochen herumspielen.