実際にファイルの公称サイズのどれだけがデータで満たされているかを出力するにはどうすればよいですか?同様に、vmtouch
現在どのくらいのファイルがメモリにあるかを示します...
ワークフローは次のようになります。
$ fallocate -l 1000000 data
$ measure_sparseness data
100%
$ fallocate -p -o 250000 -l 500000 data
$ measure_sparseness
50%
回避策:それらを使用du -bsh
しdu -sh
て比較します。
filefrag data
->複数FIBMAP: Invalid argument
-> data: 1 extent found
...
どのファイルシステムに?
—
ピーターコーデス
filefrag -e
少なくともXFSとext4で完全に動作します。私は他でテストしていません。FIBMMAPへのフォールバックを備えたFIEMAP(エクステントマップ)を使用します。これらioctl
が機能しない場合、それは役に立ちません。
tmpfsで。私に
—
Vi。
filefrag
は-e
選択肢がありません。
あなたは
—
ピーターコーデス
e2fsprogs
何歳ですか?最近の機能ではないと確信しています。ありますまた、-v
オプションで同じ冗長情報(プラスいくつかの余分なヘッダ行)を出力します。たぶん、あなたfilefrag
はそれを持っているでしょう。xfs_bmap
ただし、とは異なり、個別の行で穴を明示的に示すのではなく、ファイルの位置に不連続性があります。とにかく、tmpfs
バッキングストアとしてのブロックデバイスがないため、FIEMAPをサポートしていないことに驚かされません。したがって、エクステントの場所に意味のある値はありません。
filefrag
任意のファイルシステムおよびxfs_bmap -vpl
XFSは、スパースファイルやホールパンチングで遊んでいるときにデータの場所(および事前に割り当てられた未書き込みエクステントの場所)を示すための重要なツールです。