Come posso visualizzare la dimensione nominale del file effettivamente riempita con i dati? Come vmtouchmostra 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 -bshe du -she confrontarli.
filefrag data-> multipli FIBMAP: Invalid argument-> data: 1 extent found...
filefrag -efunziona perfettamente su XFS ed ext4 almeno. Non ho testato su altri. Utilizza FIEMAP (ext-map), con un fallback a FIBMAP. Se quelli ioctlnon funzionano, non sarà utile.
filefragnon ha -eopzione.
e2fsprogs? Sono abbastanza sicuro che non sia una funzionalità recente. C'è anche -vun'opzione che stampa le stesse informazioni dettagliate (più alcune righe di intestazione extra). Forse filefraglo 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 tmpfsnon supporti FIEMAP, perché non esiste un dispositivo a blocchi come archivio di supporto, quindi non esiste un valore ragionevole per la posizione delle estensioni.
filefragper qualsiasi filesystem exfs_bmap -vplper 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.