Come posso visualizzare la dimensione nominale del file effettivamente riempita con i dati? Come vmtouch
mostra la quantità di file attualmente in memoria ...
Mi aspetto che il flusso di lavoro sia così:
$ fallocate -l 1000000 data
$ measure_sparseness data
100%
$ fallocate -p -o 250000 -l 500000 data
$ measure_sparseness
50%
Soluzione: uso du -bsh
e du -sh
e confrontarli.
filefrag data
-> multipli FIBMAP: Invalid argument
-> data: 1 extent found
...
filefrag -e
funziona perfettamente su XFS ed ext4 almeno. Non ho testato su altri. Utilizza FIEMAP (ext-map), con un fallback a FIBMAP. Se quelli ioctl
non funzionano, non sarà utile.
filefrag
non ha -e
opzione.
e2fsprogs
? Sono abbastanza sicuro che non sia una funzionalità recente. C'è anche -v
un'opzione che stampa le stesse informazioni dettagliate (più alcune righe di intestazione extra). Forse filefrag
lo avrai. A differenza xfs_bmap
, tuttavia, non indica esplicitamente buchi con linee separate, ha solo discontinuità nella posizione del file. Ad ogni modo, non mi sorprende che tmpfs
non supporti FIEMAP, perché non esiste un dispositivo a blocchi come archivio di supporto, quindi non esiste un valore ragionevole per la posizione delle estensioni.
filefrag
per qualsiasi filesystem exfs_bmap -vpl
per XFS sono strumenti chiave per mostrare dove si trovano i dati (e dove si trovano le estensioni non scritte pre-allocate) quando si gioca con file sparsi e perforazioni.