Jak wyprowadzić, ile rozmiaru nominalnego pliku jest faktycznie wypełnione danymi? Podobnie vmtouch
jak 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 -bsh
i du -sh
i je porównać.
filefrag data
-> wiele FIBMAP: Invalid argument
-> data: 1 extent found
...
filefrag -e
działa doskonale na przynajmniej XFS i ext4. Nie testowałem na innych. Wykorzystuje FIEMAP (mapa zasięgu), zastępując FIBMAP. Jeśli te ioctl
nie działają, to nie będzie przydatne.
filefrag
nie ma -e
opcji.
e2fsprogs
? Jestem prawie pewien, że nie jest to ostatnia funkcja. Istnieje również -v
opcja, która drukuje te same pełne informacje (plus dodatkowe linie nagłówka). Może będziesz filefrag
to miał. xfs_bmap
Jednak 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 tmpfs
nie obsługuje FIEMAP, ponieważ nie ma urządzenia blokowego jako sklepu z zapleczem, więc nie ma sensownej wartości dla lokalizacji zakresów.
filefrag
dla dowolnego systemu plików ixfs_bmap -vpl
dla 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.