Як я можу визначити, чи в каталозі включено розмір швидкого каталогу APFS?


10

Apple в технічній документації в компанії Apple File System Guide описує , що деякі каталогам подобаються /tmpне добрий кандидати для функції замасліваются швидко каталогу.

Швидке розміщення каталогів працює за рахунок попереднього обчислення розміру каталогу, коли вміст додається та видаляється. Тому це найбільше підходить для каталогів, які містять багато файлів і мають відносно невеликий розмір. Наприклад, папка «Документи користувача» є хорошим кандидатом для швидкого розміщення каталогів, тоді як /tmpкаталог не буде.

Як я можу визначити, чи у певному каталозі це ввімкнено чи вимкнено, щоб я міг вибрати, де робити швидкі "швидкі" роботи, а де не робити такі роботи?

Відповіді:


1

Зараз ми знаємо, що попередня відповідь трохи не відповідає, оскільки Apple нещодавно опублікувала більше технічних деталей щодо APFS. Швидке розміщення каталогів дійсно увімкнено на основі кожного каталогу, і це може перевірити користувач (хоч і не просто). Його можна ввімкнути лише тоді, коли каталог порожній, а також його слід увімкнути і для кожного нового підкаталогу. Детальніше: https://developer.apple.com/support/apple-file-system/Apple-File-System-Reference.pdf

Відповідна цитата

Ви не можете ввімкнути швидкий розмір каталогів безпосередньо в каталогах, що містять файли або інші каталоги; натомість спочатку потрібно створити новий каталог, увімкнути швидкий розмір каталогів на ньому, а потім перемістити вміст існуючого каталогу в новий каталог

Тепер ми знаємо, що ви повинні встановити цей прапор, щоб увімкнути FDS

INODE_MAINTAIN_DIR_STATS: inode відстежує розмір усіх своїх дітей

Хоча мені досі незрозуміло, чи macOS автоматично вмикає цей прапор, де це можливо, чи ні, але деякі початкові експерименти змушують мене вважати, що він ще не використовується. Я припускаю, що він буде використаний у майбутніх оновленнях macOS.


0

Коротка відповідь

FDS - це фундаментальна частина файлової системи на накопичувачах у форматі APFS. Користувачам це не потрібно вмикати / вимикати, і це не те, що може застосовуватися до одного каталогу, а не до іншого.

Оскільки це сценарій "все в", немає жодних термінальних команд, щоб визначити, чи в каталозі включена FDS. Натомість, якщо накопичувач відформатований у форматі APFS, тоді FDS увімкнено. Якщо він не відформатований у форматі APFS, FDS недоступний.

Довга відповідь

На жаль, інформація, яку ви цитували з технічної документації Apple, погано сформульована, отже, причина вашого запитання.

Якщо накопичувач відформатований у форматі APFS, тоді швидкий розмір каталогів застосовується у всьому платі. FDS - це не те, що користувач може вмикати / вимикати на основі кожної директорії.

Через це користувач також не може визначати статус у каталозі за каталогом. Тобто, якщо привід відформатований як APFS, тоді у всіх каталогах включена FDS .

Звідки випливає плутанина (і це зрозуміло в даному випадку) - це поганий вибір слів у документації Apple і неоднозначність, яка створювалась. Ця інформація намагалася донести до того, що користувач отримає найбільшу користь від FDS у тих каталогах, у яких багато файлів, але мало змінюється (наприклад, папка «Документи користувача»), тоді як вони не отримають великої користі (якщо така є) від FDS в каталогах. як /tmpпапка.

Крім того, документація, на яку ви посилалися, з цього часу була замінена сторінкою About File File System . Єдина згадка про FDS на цій сторінці полягає в наступному:

Apple File System пропонує покращені основи файлової системи, а також кілька нових функцій, серед яких клонування, знімки, обмін простором, швидке розміщення каталогів, атомне безпечне збереження та розріджені файли.

Там немає спроби подальшого пояснення , що FDS кошти, за те , що це фундаментальна (читай , що лежить в основі ) функція. Однак якщо вас цікавить деякий досвід:

У складних і глибоких структурах каталогів в HFS + ми знайомі з часом, який система філій може витратити на обчислення розміру дерева файлів системи. Це одна з найпоширеніших причин того, що система буде висіти. Apple, за допомогою APFS, представила швидкий розмір каталогів (FDS), де система філій може швидко обчислити простір, який використовується ієрархією каталогів, щоб усунути цю проблему.

Джерело: Hansen, KH, Toolan, F., Розшифровка системи APFS, Digital Investigation (2017)


Це правда, що якщо привід відформатований як APFS, то у всіх каталогах включена FDS? Цей коментар говорить про те, що він встановлюється на основі inode, і що ви повинні спершу створити таку директорію, а потім перемістити елементи до неї. Безумовно, що в моїй власній системі розміри папок зовсім не дуже швидко відображаються у Finder (це була оновлена ​​система; не чиста установка).
Вінсент

На жаль, це явно неправильно, і його слід оновлювати. Дивіться документацію j_inode_flagsв Довідці щодо файлової системи Apple . Структура даних inode каталогів дійсно дозволяє включити або вимкнути цю функцію в екземплярі для кожного каталогу. Ніщо там не говорить про те, що ця функція увімкнена для всіх каталогів автоматично, як зазначено в цій відповіді.
Фейермурмель

Цей коментар повторюється, дещо поблажливий і зовсім неправильний. Цитати у питанні не "погано сформульовані"; вони, очевидно, несумісні з цією відповіддю.
Маттіас Вінкельман
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.