25 votos

¿Cuáles son los tamaños de sector en Mac OS X?

He leído en la página de Wikipedia de HFS Plus que el tamaño por defecto de los sectores en un Mac es de 512 b. Sin embargo, también he leído que los Macs soportan sectores de 4kb. ¿Cómo puedo determinar que tengo, 512 b o 4 kb sectores? Creo que 512 es la respuesta correcta, pero me gustaría estar seguro.

40voto

jamie Puntos 11

En el terminal, puede utilizar diskutil para obtener información sobre la unidad, incluido el tamaño de bloque del dispositivo:

$ diskutil info / | grep "Block Size"
  Device Block Size:        512 Bytes

1 votos

Gracias Timothy, no conocía este comando. Parece un tesoro para la información del disco / manipulación en OS X.

1 votos

Atención: esta respuesta no distingue entre tamaño de bloque de dispositivo y tamaño de bloque de asignación. Pueden ser muy diferentes, y el tamaño de bloque de asignación bien puede ser lo que el OP está buscando, ya que es lo que utiliza el sistema de archivos. Véase la respuesta de Mike.

0 votos

... y tampoco responde a la pregunta del OP - que preguntaba sobre sector no block tamaño.

12voto

Matt Connolly Puntos 568

En primer lugar, tenga en cuenta que el tamaño de bloque del dispositivo es diferente del tamaño de bloque utilizado por el sistema de archivos. El primer valor reportado por diskutil se refiere al tamaño de bloque crudo usado por el hardware. No he encontrado una manera fácil de comprobar este último valor mediante la línea de comandos, pero puedes crear un archivo de cero bytes y luego hacer Get Info desde el Finder. Dirá 0 bytes, pero 4k usados en el disco.

En segundo lugar, puede crear un sistema de archivos HFS+ con tamaños de bloque superiores a 4k utilizando el programa de línea de comandos newfs_hfs . La forma más fácil es utilizar la Utilidad de Discos para particionar la unidad y crear una partición con el formato predeterminado, a continuación, utilice /bin/df para determinar el dispositivo de bloque (sólo un ejemplo: /dev/disk0s2 ). A continuación, desmonte esa partición (utilizando umount /dev/diskXXX o Utilidad de Discos), y volver a formatear como HFS+ con 64k bloques hacer:

newfs_hfs -v VolumeName -b 65536 /dev/disk0s2

Utilice el consejo Obtener información anterior para verificar que un archivo pequeño ocupa ahora 64k en el disco (puede decir 65k para unidades de potencias de 10).

El rendimiento es la principal razón por la que puedes querer hacer esto, si la mayoría de los datos a almacenar son archivos grandes (como MP3s, fotos, vídeos, archivos .zip, etc), y también ayuda a mantener baja la fragmentación del disco. Obviamente, no te molestes si planeas almacenar principalmente archivos pequeños.

He descubierto que en unidades grandes (> 1 TB) formateadas como HFS con el tamaño de bloque predeterminado de 4k, cuando la unidad se acerca a su capacidad, el rendimiento de escritura se degrada terriblemente. Supongo que se debe a que la partición está fragmentada y tiene que cazar y picotear bloques libres para escribir el último 1% de los datos. Espero que los tamaños de bloque más grandes alivien un poco este problema.

1 votos

El tamaño de bloque del sistema de archivos viene dado por stat -f %k . .

0 votos

Además, es más fácil para la unidad si el tamaño de bloque del sistema de archivos coincide con el tamaño de bloque físico de la unidad. De lo contrario, cada escritura tiene que ser realmente un ciclo de lectura-modificación-escritura, (el almacenamiento en caché ayuda, por supuesto.)

1 votos

Re: "No he encontrado una manera fácil de comprobar el último valor por la línea de comandos" No sé de versiones anteriores, pero en MacOS Sierra 10.12.6, diskutil info a veces le indicará el tamaño del bloque de asignación: Allocation Block Size: 32768 Bytes así como el tamaño de bloque del dispositivo. He encontrado que esto es cierto cuando se utiliza el dispositivo en bruto rdisk2s0 con una tarjeta SD en el lector de tarjetas. No sé cómo hacer que funcione para el disco duro.

11voto

rjb Puntos 206

El tamaño de bloque del dispositivo OS X puede determinarse ejecutando el siguiente comando desde una ventana de Terminal:

diskutil info / | grep "Block Size"

Que mostrará la siguiente información:

Device Block Size: 512 Bytes

El tamaño de bloque del sistema de archivos puede determinarse utilizando la función stat utilidad:

stat -f %k .

Que le mostrará el tamaño óptimo del bloque de operaciones de E/S del sistema de archivos en bytes:

4096

4voto

Artem Tikhomirov Puntos 4501

Con el antiguo sistema de archivos HFS, el segundo intento de Apple de crear un sistema de archivos para el Macintosh, sólo podía haber hasta 65.535 bloques de asignación en un disco. El tamaño del bloque era una función del tamaño del disco en bytes dividido por el número máximo de bloques de asignación, 65.535. Para discos pequeños, esto estaba bien, pero no era posible. Para discos pequeños esto estaba bien, pero cuando los tamaños de disco empezaban a acercarse a 1GB el tamaño mínimo de bloque de asignación era 16 KB (1073741824 / 65535) = 16384.25, pero hay que truncar a 16384.

Lo que esto significa es que un archivo de 1 byte en un disco HFS de 1 GB requería 16.384 bytes para almacenarse en el disco duro, por lo que había demasiado espacio desaprovechado. Así que Apple creó el envoltorio HFS+ para reducir el espacio desperdiciado.

Puede que haya una forma de aumentar el tamaño del bloque, pero ¿por qué querrías hacerlo?

Aquí hay un rápido bash script que listará toda la salida diskinfo para todos sus discos conectados actualmente.

#!/bin/bash

for disk in /dev/disk*s*
do
    diskutil info $disk
    echo "**************************************************************************************"
    echo " "
done

0 votos

Gracias por tu respuesta, Mark, pero creo que no has entendido bien mi pregunta. Estoy buscando cuál es el tamaño de un bloque en HFS Plus (el actual sistema de archivos por defecto de los Mac). No obstante, es interesante lo de los fallos de HFS.

0 votos

La cuestión es que varía, pero en general parece ser de 512 bytes.

0voto

js2010 Puntos 101

Parece que el tamaño de bloque de dispositivo es ahora de 4096 bytes en los iMac de 2017 (iMac18,1), causando problemas a la gente que usa ntfsprogs.

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