Jak mogę sprawdzić, czy katalog ma włączoną funkcję szybkiego katalogowania APFS?

10

Apple dokumentacja techniczna w pliku Apple System Przewodnik opisuje, że niektóre katalogi podoba /tmpnie są dobrymi kandydatami do tej funkcji zaklejania szybko katalogów.

Szybka zmiana rozmiaru katalogu polega na wstępnym obliczeniu rozmiaru katalogu podczas dodawania i usuwania zawartości. Dlatego jest najbardziej odpowiedni dla katalogów, które zawierają wiele plików i mają stosunkowo niewielką rezygnację. Na przykład folder Dokumenty użytkownika jest dobrym kandydatem do szybkiego rozmiaru katalogu, podczas gdy /tmpkatalog nie.

Skąd mam wiedzieć, czy dany katalog ma tę opcję włączoną, czy wyłączoną, aby wybrać miejsce wykonywania intensywnej „rezygnacji” i gdzie nie wykonywać takiej pracy?

bmike
źródło

Odpowiedzi:

1

Wiemy teraz, że poprzednia odpowiedź jest nieco odbiegająca od czasu, gdy Apple opublikowało ostatnio więcej szczegółów technicznych na temat APFS. Szybkie określanie rozmiaru katalogu jest rzeczywiście włączone dla poszczególnych katalogów i może to sprawdzić użytkownik (choć niełatwo). Można go włączyć tylko wtedy, gdy katalog jest pusty i musi być również włączony dla każdego nowego podkatalogu. Szczegóły: https://developer.apple.com/support/apple-file-system/Apple-File-System-Reference.pdf

Odpowiedni cytat

Nie można bezpośrednio włączyć funkcji Szybkiego katalogowania w katalogach zawierających pliki lub inne katalogi; zamiast tego musisz najpierw utworzyć nowy katalog, włączyć w nim szybki rozmiar katalogu, a następnie przenieść zawartość istniejącego katalogu do nowego katalogu

Wiemy teraz, że musisz ustawić tę flagę, aby włączyć FDS

INODE_MAINTAIN_DIR_STATS: i-węzeł śledzi rozmiar wszystkich swoich potomków

Chociaż nadal nie jest dla mnie jasne, czy macOS włącza tę flagę automatycznie, gdy jest to właściwe, czy nie, ale niektóre wstępne eksperymenty sprawiają, że myślę, że jeszcze nie jest używana. Zakładam, że będzie on używany w nadchodzących aktualizacjach systemu macOS.

Chris
źródło
0

Krótka odpowiedź

FDS jest podstawową częścią systemu plików dysków sformatowanych w systemie APFS. To nie jest coś, co użytkownicy muszą włączać / wyłączać, i nie jest to coś, co może dotyczyć jednego katalogu, a nie innego.

Ponieważ jest to scenariusz „wszystko w jednym”, nie ma żadnych poleceń terminala, aby ustalić, czy w katalogu włączono FDS. Zamiast tego, jeśli dysk jest sformatowany w formacie APFS, włącza się FDS. Jeśli nie jest sformatowany w formacie APFS, FDS jest niedostępny.

Długa odpowiedź

Niestety informacje, które zacytowałeś z dokumentacji technicznej Apple'a, są źle sformułowane, stąd powód twojego pytania.

Jeśli dysk jest sformatowany w formacie APFS, wówczas w całym systemie stosuje się Fast Directory Sizing. FDS nie jest czymś, co użytkownik może włączyć / wyłączyć dla poszczególnych katalogów.

Z tego powodu nie jest też czymś, co użytkownik może określić status w katalogu na podstawie katalogu. Oznacza to, że jeśli dysk jest sformatowany jako APFS, wszystkie katalogi mają włączony FDS .

Skąd bierze się zamieszanie (i oczywiście w tym przypadku), to zły wybór słów w dokumentacji Apple i dwuznaczność, która to stworzyła. Informacje, które próbowano przekazać, to to, że użytkownik będzie czerpał najwięcej korzyści z FDS w tych katalogach, które mają wiele plików, ale niewiele się zmieniają (np. Folder Dokumentów użytkownika), podczas gdy nie uzyska dużych korzyści (jeśli w ogóle) z FDS w katalogach jak /tmpfolder.

Nawiasem mówiąc, wspomniana dokumentacja została zastąpiona stroną Informacje o systemie plików Apple . Jedyne wzmianki o FDS na tej stronie są następujące:

Apple File System oferuje ulepszone podstawy systemu plików, a także kilka nowych funkcji, w tym klonowanie, migawki, udostępnianie przestrzeni, szybkie zmienianie katalogów, bezpieczne zapisywanie atomowe i rzadkie pliki.

Nie ma próby dalszego wyjaśnienia, co oznacza FDS, poza faktem, że jest to podstawowa funkcja (czytaj poniżej ). Jeśli jednak interesuje Cię jakieś tło:

W złożonych i głębokich strukturach katalogów w HFS + znamy czas, jaki system plików mógłby poświęcić na obliczenie wielkości drzewa systemu plików. Jest to jeden z najczęstszych powodów zawieszenia systemu. Apple wraz z APFS wprowadziło Fast Directory Sizing (FDS), w którym system plików może szybko obliczyć przestrzeń zajmowaną przez hierarchię katalogów, aby usunąć ten problem.

Źródło: Hansen, KH, Toolan, F., Dekodowanie systemu plików APFS, Digital Investigation (2017)

Monomeeth
źródło
Czy to prawda, że ​​jeśli dysk jest sformatowany jako APFS, wszystkie katalogi mają włączony FDS? Ten komentarz sugeruje, że jest on ustawiany dla poszczególnych węzłów i że musisz najpierw utworzyć taki katalog, a następnie przenieść do niego elementy. Z pewnością w moim systemie rozmiary folderów nie wydają się być wyświetlane bardzo szybko w Finderze (był to system uaktualniony; nie jest to czysta instalacja).
Wincent
Niestety jest to po prostu błędne i powinno zostać zaktualizowane. Zapoznać się z dokumentacją j_inode_flagsw pliku Apple System Reference . Struktura danych i-węzłów katalogu rzeczywiście umożliwia włączenie lub wyłączenie tej funkcji dla instancji dla jednego katalogu. Nic tam nie mówi, że ta funkcja jest włączona dla wszystkich katalogów automatycznie, jak podano w tej odpowiedzi.
Feuermurmel
Ten komentarz jest powtarzalny, nieco protekcjonalny i całkowicie błędny. Cytaty w pytaniu nie są „źle sformułowane”; są oczywiście niezgodne z tą odpowiedzią.
Matthias Winkelmann