Bagaimana saya bisa tahu jika direktori telah mengaktifkan Ukuran Direktori Cepat APFS?

10

Apple dokumentasi teknis di Apple File System Panduan menjelaskan bahwa beberapa direktori seperti /tmptidak kandidat yang baik untuk fitur ukuran direktori cepat.

Ukuran direktori cepat berfungsi dengan menghitung ukuran direktori saat konten ditambahkan dan dihapus. Oleh karena itu, ini paling sesuai untuk direktori yang berisi banyak file dan memiliki churn yang relatif sedikit. Sebagai contoh, folder Dokumen pengguna adalah kandidat yang baik untuk ukuran direktori cepat, sedangkan /tmpdirektori tidak.

Bagaimana saya bisa tahu apakah direktori tertentu telah mengaktifkan atau menonaktifkan ini sehingga saya dapat memilih tempat untuk melakukan pekerjaan "churn" intensif dan di mana tidak melakukan pekerjaan semacam itu?

bmike
sumber

Jawaban:

1

Kita sekarang tahu jawaban sebelumnya sedikit bermasalah karena Apple baru-baru ini merilis rincian teknis lebih lanjut tentang APFS. Ukuran direktori cepat memang diaktifkan berdasarkan per direktori dan ini dapat diperiksa oleh pengguna (meskipun tidak mudah). Ini hanya dapat diaktifkan ketika direktori kosong dan juga harus dihidupkan untuk setiap subdirektori baru. Detail: https://developer.apple.com/support/apple-file-system/Apple-File-System-Reference.pdf

Kutipan yang relevan

Anda tidak dapat mengaktifkan Ukuran Direktori Cepat pada direktori yang berisi file atau direktori lain secara langsung; Anda harus terlebih dahulu membuat direktori baru, mengaktifkan ukuran direktori cepat di atasnya, dan kemudian memindahkan konten direktori yang ada ke direktori baru

Kami sekarang tahu bahwa Anda harus mengatur tanda ini untuk mengaktifkan FDS

INODE_MAINTAININDDIR_STATS: Inode melacak ukuran semua anak-anaknya

Meskipun masih tidak jelas bagi saya apakah macOS menyalakan bendera ini secara otomatis di mana sesuai atau tidak, tetapi beberapa eksperimen awal membuat saya berpikir itu belum digunakan. Saya menganggap itu akan digunakan dalam pembaruan macOS yang akan datang.

Chris
sumber
0

Jawaban singkat

FDS adalah bagian mendasar dari sistem file di drive berformat APFS. Ini bukan sesuatu yang harus diaktifkan / dinonaktifkan oleh pengguna, dan itu bukan sesuatu yang dapat diterapkan pada satu direktori dan bukan yang lain.

Karena ini adalah skenario 'semua dalam', tidak ada perintah terminal untuk menentukan apakah direktori telah mengaktifkan FDS. Sebaliknya, jika drive diformat dalam format APFS maka FDS diaktifkan. Jika tidak diformat dalam format APFS, maka FDS tidak tersedia.

Jawaban panjang

Sayangnya, informasi yang Anda kutip dari dokumentasi teknis Apple sangat buruk, karenanya menjadi alasan untuk pertanyaan Anda.

Jika drive diformat dalam format APFS maka Fast Directory Sizing diterapkan di seluruh papan. FDS bukanlah sesuatu yang dapat diaktifkan / dinonaktifkan pengguna pada basis per direktori.

Karena itu, ini juga bukan sesuatu yang pengguna dapat menentukan status pada direktori berdasarkan direktori. Artinya, jika drive diformat sebagai APFS maka semua direktori telah mengaktifkan FDS .

Dari mana kebingungan berasal (dan dapat dimengerti dalam kasus ini) adalah pilihan kata yang buruk dalam dokumentasi Apple dan ambiguitas yang diciptakan. Apa yang ingin disampaikan oleh informasi ini adalah bahwa pengguna akan mendapat manfaat paling banyak dari FDS di direktori yang memiliki banyak file tetapi sedikit berubah (misalnya folder Dokumen pengguna), sedangkan mereka tidak akan mendapat banyak manfaat (jika ada) dari FDS di direktori suka /tmpfoldernya.

Sebagai tambahan, dokumentasi yang Anda referensikan telah digantikan oleh halaman About Apple File System . Satu-satunya penyebutan FDS pada halaman ini adalah sebagai berikut:

Sistem File Apple menawarkan peningkatan fundamental sistem file serta beberapa fitur baru, termasuk kloning, snapshot, berbagi ruang, ukuran direktori cepat, penyimpanan atom yang aman, dan file yang jarang.

Tidak ada upaya untuk menjelaskan lebih lanjut apa arti FDS, di luar fakta itu adalah fitur mendasar (baca mendasar ). Namun, jika Anda tertarik pada beberapa latar belakang:

Dalam struktur direktori yang kompleks dan dalam di HFS +, kita terbiasa dengan waktu yang bisa dihabiskan oleh sistem fi le untuk menghitung ukuran pohon sistem fi le. Ini adalah salah satu alasan umum bahwa sistem akan hang. Apple, dengan APFS, memperkenalkan Fast Directory Sizing (FDS), di mana sistem fi le dapat dengan cepat menghitung ruang yang digunakan oleh hierarki direktori, untuk menghilangkan masalah ini.

Sumber: Hansen, KH, Toolan, F., Decoding sistem file APFS, Digital Investigation (2017)

Monomeeth
sumber
Benarkah jika sebuah drive diformat sebagai APFS maka semua direktori telah mengaktifkan FDS? Komentar ini menunjukkan bahwa itu diatur berdasarkan per-inode, dan bahwa Anda harus membuat direktori seperti itu terlebih dahulu dan kemudian memindahkan item ke dalamnya. Tentu saja di sistem saya sendiri, ukuran folder tampaknya tidak ditampilkan dengan sangat cepat di Finder (ini adalah sistem yang ditingkatkan; bukan instalasi yang bersih).
wincent
Sayangnya, ini salah dan harus diperbarui. Lihat dokumentasi untuk j_inode_flagsdalam Referensi Sistem File Apple . Struktur data inode direktori memang memungkinkan fitur ini diaktifkan atau dinonaktifkan pada instance per-direktori. Tidak ada yang menyatakan bahwa fitur ini diaktifkan untuk semua direktori secara otomatis seperti yang dinyatakan dalam jawaban ini.
Feuermurmel
Komentar ini berulang, agak merendahkan, dan sepenuhnya salah. Kutipan dalam pertanyaan tidak "buruk kata"; mereka jelas tidak cocok dengan jawaban ini.
Matthias Winkelmann