Jak wyprowadzić, ile rozmiaru nominalnego pliku jest faktycznie wypełnione danymi? Podobnie vmtouchjak pokazuje, ile plików jest aktualnie w pamięci ...
Oczekuję, że przepływ pracy będzie taki:
$ fallocate -l 1000000 data
$ measure_sparseness data
100%
$ fallocate -p -o 250000 -l 500000 data
$ measure_sparseness
50%
Obejście: Redakcyjne du -bshi du -shi je porównać.
filefrag data-> wiele FIBMAP: Invalid argument-> data: 1 extent found...
filefrag -edziała doskonale na przynajmniej XFS i ext4. Nie testowałem na innych. Wykorzystuje FIEMAP (mapa zasięgu), zastępując FIBMAP. Jeśli te ioctlnie działają, to nie będzie przydatne.
filefragnie ma -eopcji.
e2fsprogs? Jestem prawie pewien, że nie jest to ostatnia funkcja. Istnieje również -vopcja, która drukuje te same pełne informacje (plus dodatkowe linie nagłówka). Może będziesz filefragto miał. xfs_bmapJednak w przeciwieństwie do tego, nie wskazuje wyraźnie otworów z oddzielnymi liniami, po prostu ma nieciągłości w pozycji pliku. W każdym razie nie jestem zaskoczony, że tmpfsnie obsługuje FIEMAP, ponieważ nie ma urządzenia blokowego jako sklepu z zapleczem, więc nie ma sensownej wartości dla lokalizacji zakresów.
filefragdla dowolnego systemu plików ixfs_bmap -vpldla XFS są kluczowymi narzędziami do pokazania, gdzie są dane (i gdzie są wstępnie przydzielone niepisane zakresy) podczas zabawy z rzadkimi plikami i dziurawieniem.