13 votos

¿Cómo puedo saber si un directorio tiene activada la función APFS Fast Directory Sizing?

Apple's documentación técnica en la Guía del Sistema de Archivos de Apple describe que algunos directorios como /tmp no son buenos candidatos para la función de dimensionamiento rápido de directorios.

El dimensionamiento rápido de los directorios funciona calculando previamente el tamaño del directorio a medida que se añade y elimina contenido. Por lo tanto, es más apropiado para los directorios que contienen muchos archivos y tienen relativamente poco movimiento. Por ejemplo, la carpeta Documentos de un usuario es un buen candidato para el dimensionamiento rápido de directorios, mientras que la carpeta /tmp directorio no lo haría.

¿Cómo puedo saber si un determinado directorio tiene esto habilitado o deshabilitado para poder elegir dónde hacer un trabajo de "churn" intensivo en velocidad y dónde no hacer ese tipo de trabajo?

5voto

Khb Puntos 1002

Ahora sabemos que la respuesta anterior está un poco equivocada, ya que Apple ha publicado recientemente más detalles técnicos sobre APFS. El dimensionamiento rápido de los directorios está efectivamente habilitado por directorio y puede ser comprobado por el usuario (aunque no fácilmente). Sólo puede activarse cuando un directorio está vacío y también debe activarse para cada nuevo subdirectorio. Detalles: https://developer.apple.com/support/apple-file-system/Apple-File-System-Reference.pdf

Cita relevante

No se puede activar el dimensionamiento rápido de directorios en directorios que contengan archivos u otros directorios directamente; en su lugar, debe crear primero un nuevo directorio, activar el dimensionamiento rápido de directorios en él y, a continuación, mover el contenido del directorio existente al nuevo directorio

Ahora sabemos que hay que poner esta bandera para activar el FDS

INODE_MAINTAIN_DIR_STATS: El inodo rastrea el tamaño de todos sus hijos

Aunque todavía no tengo claro si MacOS está activando esta bandera automáticamente cuando es apropiado o no, pero algunos experimentos iniciales me hacen pensar que todavía no se está utilizando. Supongo que se utilizará en las próximas actualizaciones de MacOS.

-1voto

Monomeeth Puntos 139

Respuesta corta

El FDS es una parte fundamental del sistema de archivos en las unidades con formato APFS. No es algo que los usuarios tengan que activar/desactivar, y no es algo que pueda aplicarse a un directorio y no a otro.

Como se trata de un escenario 'all in', no hay comandos de terminal para determinar si un directorio tiene FDS habilitado. En cambio, si una unidad está formateada en el formato APFS, entonces el FDS está habilitado. Si no está formateada en el formato APFS, entonces FDS no está disponible.

Respuesta larga

Lamentablemente, la información que has citado de la documentación técnica de Apple está mal redactada, de ahí el motivo de tu pregunta.

Si una unidad está formateada con el formato APFS, el dimensionamiento rápido de directorios se aplica de forma generalizada. El FDS no es algo que un usuario pueda activar/desactivar por directorio.

Por ello, tampoco es algo que un usuario pueda determinar el estado de cada directorio. Es decir, si la unidad está formateada como APFS entonces todos los directorios tienen activado el FDS .

El origen de la confusión (y es comprensible en este caso) es la mala elección de las palabras en la documentación de Apple y la ambigüedad que creó. Lo que esta información intentaba transmitir es que un usuario se beneficiará más de FDS en aquellos directorios que tienen muchos archivos pero que cambian poco (por ejemplo, la carpeta Documentos de un usuario), mientras que no obtendrá mucho beneficio (si es que lo hace) de FDS en directorios como el /tmp carpeta.

Por otra parte, la documentación a la que hace referencia ha sido sustituida por el Acerca del sistema de archivos de Apple página. La única mención a FDS en esta página es la siguiente:

El Sistema de Archivos de Apple ofrece mejoras en los fundamentos del sistema de archivos, así como varias funciones nuevas, como la clonación, las instantáneas, el espacio compartido, el tamaño rápido de los directorios, el guardado seguro atómico y los archivos dispersos.

No hay ningún intento de explicar más qué FDS significa, más allá del hecho de que es un fundamental (léase subyacente ). Sin embargo, si está interesado en algunos antecedentes:

En las estructuras de directorios complejas y profundas de HFS+, estamos familiarizados con el tiempo que el sistema de archivos podría dedicar a calcular el tamaño del árbol del sistema de archivos. Esta es una de las razones más comunes por las que el sistema se cuelga. Apple, con APFS, introdujo el Fast Directory Sizing (FDS), con el que el sistema de archivos puede calcular rápidamente el espacio utilizado por una jerarquía de directorios, para eliminar este problema.

Fuente: Hansen, K.H., Toolan, F., Decoding the APFS file system, Digital Investigation (2017)

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X