割り当てが遅れた非常に大きなファイルの場合、一部のセクタは割り当てられ、一部は割り当てられません。 ext4/xfs/etc は遅延割り当てをサポートします。
たとえば、空のファイルを作成し、fallocate()を使用して非常に大きなサイズに設定します。これでファイルサイズはGBになりますが、du
使用中にディスク使用量は0になります。ランダムに書き込んだ後、ファイルの特定のセクタ/ページが割り当てられていることを確認したいと思います。
一部の関連システム呼び出し(mincore / fincoreなど)は、ページキャッシュの仮想マシンの状態に応じて機能します。ただし、ディスク割り当て情報は提供しません。これを行う方法があるかどうかを知りたいです。ありがとうございます。
ベストアンサー1
次のコマンドを使用して、ディスク上のファイルマッピングをインポートできます。FIEMAP
I/W制御。FIBMAP
同様の操作を実行し、ルートが必要で、よく文書化されていないioctlもあります。
Cを書かなくても、filefrag -v
またはを使用してhdparm --fibmap
データを取得できます。