3 votos

¿Hay alguna manera de forzar a `apfsd` a desfragmentar todos los archivos en un disco?

Según tengo entendido, los volúmenes HFS + y APFS no necesitan ser desfragmentados, ya que los archivos serán desfragmentados automáticamente por el sistema operativo, pero me gustaría dejar un proceso ejecutándose en segundo plano que haría esto a todos los archivos del disco. ¿Hay alguna manera de verificar qué archivos tienen más fragmentos u obtener una lista de todos los archivos del disco?

3voto

Jose Chavez Puntos 645

Es correcto que en HFS+ volúmenes de una técnica denominada "Sobre la marcha" de forma automática desfragmenta ciertos archivos cuando se abren. Sin embargo, sólo se aplica para los archivos que están a menos de 20 MB de tamaño, no están ocupados, no sólo de lectura, ha sido el mismo durante al menos 60 segundos y tiene más de 8 extensiones (es decir, "fragmentos"). Normalmente, los archivos ocupan un porcentaje muy pequeño de su unidad de disco duro.

Con el fin de obtener estadísticas y la lista de los archivos fragmentados en HFS+ volúmenes, usted querrá usar una herramienta como "hfsdebug" (gratis). Ofrece tanto un listado de todos los archivos fragmentados, así como diversas estadísticas, tales como la parte superior de las listas de archivos más fragmentados.

Con el fin de obtener la lista de todos los archivos fragmentados que usted lo solicite, ejecute el siguiente comando en la Terminal.aplicación después de la instalación de hfsdebug:

hfsdebug -f /

Usted puede elegir ver solamente el top 10 de los archivos de este tipo:

hfsdebug -t 10 -f /

Una nueva herramienta denominada fileXray (79$) existe también la que le da gran parte de las mismas características, y mucho más. Como se señaló es un software comercial que requiere la compra de una licencia nota que no tiene una interfaz gráfica de usuario, pero tiene un texto similar a la interfaz de hfsdebug.

Usted puede utilizar fileXray, por ejemplo, comprobar si un archivo está fragmentado o no:

fileXray filename

Esto dará como resultado una lista de extensiones para el archivo "nombre de archivo". Si el archivo tiene varias extensiones es, en teoría, fragmentado. Si el startBlock + blockCount de una medida en línea con la startBlock de la siguiente medida, en la práctica no importa mucho.

Una manera simple de hacer la desfragmentación real es simplemente copiar el archivo. Asegúrese de que tiene suficiente (no fragmentada) de espacio en disco por adelantado y, a continuación, copie el archivo a un nombre nuevo en el mismo disco. El nuevo archivo debe ser menos fragmentado (o no fragmentado en todos) - se puede comprobar que con el mencionado comando. Después de copiar, puede eliminar el archivo antiguo y cambie el nombre del nuevo archivo para que coincida con.

ACTUALIZACIÓN: En los comentarios, que han expresado de que se necesitaba una solución gratuita, y no se puede utilizar fileXray porque cuesta 75$. En el caso de que usted podría utilizar SleuthKit de HomeBrew en lugar vas a encontrar la ifind comando de SleuthKit puede mostrar el número de extensiones así. Otra posibilidad es hfsinspect por Adam Knight, que también pueden mostrar las extensiones.

0voto

Kenial Puntos 111

Según, https://osxbook.com/book/bonus/misc/optimizations/#FIVE los archivos se desfragmenta en abierto si todas las condiciones siguientes son verdaderas:

  • el archivo es de menos de 20 MB de tamaño
  • el archivo no está ya ocupado
  • el archivo no es de sólo lectura
  • el archivo tiene más de ocho extensiones
  • el sistema ha estado en funcionamiento durante al menos tres minutos

Si es que aún se mantiene, de una forma sencilla para desfragmentar una carpeta sería, desde el terminal:

find . -type f -exec head {} > /dev/null \;

Como este va a leer el inicio de cada archivo dentro de esa carpeta y no hacer nada con él. Puesto que se requiere abrir el archivo, se debe activar la desfragmentación y caliente archivo de la agrupación de los comportamientos de todos los archivos modificables por debajo de los 20 MBs.

Realmente no puedo decir si funciona.

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