Uso un ramdisk para acelerar un repositorio git con muchos (> 60k) de archivos pequeños (~200 bytes).
¿Hay alguna manera de crear un ramdisk con un tamaño de bloque más pequeño?
Resumen ejecutivo: no creo que esto sea posible, al menos no para volúmenes formateados como HFS+.
Mi entendimiento actual es que HFS+ elige el tamaño de bloque de su sistema de archivos (separado del tamaño de bloque del dispositivo físico) de acuerdo con un tamaño de bloque de asignación predeterminado fijo que no se puede anular manualmente.
Las discusiones en otros foros que abarcan desde 2002 hasta 2011 ( CompGroups , MacRumors , entre otros) sugieren usar newfs_hfs(8) , que tiene una -b <blocksize>
opción para establecer manualmente el tamaño del bloque al crear un nuevo sistema de archivos.
Intenté usar newfs_hfs
en varios tipos de particiones, tanto en imágenes de disco .dmg como en discos duros SATA físicos (a través de la interfaz SATA<->USB) y con varios sistemas de archivos (HFS+, FAT16, FAT32). Cuando corría con diferentes tamaños newfs_hfs
-b (512, 1024, 2048, 4096, 8192,) de hecho reportó éxito en la creación de sistemas de archivos con los tamaños de bloque especificados. Podría montar y leer/escribir estos volúmenes normalmente.
Pero cuando examino los volúmenes de prueba con diskutil info <diskname>
(dónde <diskname>
está disk1, disk4 o cualquiera que sea su disco), siempre veo:
Total Size: 104.9 MB (104857600 Bytes) (exactly 204800 512-Byte-Blocks)
Volume Free Space: 102.4 MB (102385664 Bytes) (exactly 199972 512-Byte-Blocks)
Device Block Size: 512 Bytes
Tenga en cuenta que el final de la newfs_hfs(8)
página del manual incluye este dato:
HISTORY
The newfs_hfs command appeared in Mac OS X Server 1.0 . As of Mac OS X
10.6, this utility no longer generates HFS standard file systems.
Parecería que OS X 10.8 (y probablemente 10.7, y quizás versiones anteriores) anula cualquier tamaño de bloque que newfs_hfs
pretenda crear, a favor de los tamaños predeterminados impuestos por una autoridad superior. (??)
Un artículo que encontré sugería usar la utilidad RAID de software de OS X para crear un espejo RAID. El software RAID permite especificar un tamaño de banda RAID , pero como esto generalmente está orientado a mejorar el rendimiento de los archivos grandes en lugar de los pequeños, creo que el tamaño mínimo de la banda RAID es de 4 KB, lo que no es útil para sus propósitos.
mmmmmm
dh82
hdiutil attach -nomount ram://1165430
mmmmmm
dh82
dh82