Як вивести, скільки фактично номінального розміру файлу заповнено даними? Як 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. Я не перевіряв інших. Він використовує FIEMAP (масштаб-карта), із резервним FIBMAP. Якщо ioctlвони не працюють, то це не буде корисним.
filefragнемає -eможливості.
e2fsprogs? Я майже впевнений, що це не остання функція. Там же також -vваріант , який друкує ту ж інформацію багатослівній (плюс деякі додаткові рядки заголовка). Можливо, у вас це filefragбуде. На відміну від цього xfs_bmap, він не вказує явно дірки окремими рядками, він просто має розриви в положенні файлу. У всякому разі, я не здивований, що tmpfsне підтримує FIEMAP, оскільки немає блокового пристрою як резервного магазину, тому немає значущого значення для розташування розширень.
filefragдля будь-якої файлової системи таxfs_bmap -vplдля XFS є ключовими інструментами для показу, де є дані (та де попередньо виділені неписані розширення) під час гри з розрідженими файлами та пробиванням отворів.