¿Por qué los ramdisk de Mac OS X parecen estar limitados a 550 mb y cómo puedo cambiar esto?

4

Todo lo que puedo encontrar en Internet es un comando de bash de una línea para activar un disco RAM. ¿Son solo 550 mb y me gustaría poder crear con más espacio? ¿Hay alguna manera de configurar qué tan grandes pueden ser? Si no, ¿por qué están limitados en primer lugar?

    
pregunta Zizma 07.07.2012 - 18:05

1 respuesta

10

Aquí está el one-liner que encontré para crear un ramdisk:

diskutil erasevolume HFS+ "ramdisk" 'hdiutil attach -nomount ram://1165430'

En realidad son dos comandos; si los ejecutas individualmente, obtienes:

$ hdiutil attach -nomount ram://1165430
/dev/disk4              

$ diskutil erasevolume HFS+ "ramdisk" /dev/disk4
Started erase on disk4
Unmounting disk
Erasing
Initialized /dev/rdisk4 as a 569 MB HFS Plus volume
Mounting disk
Finished erase on disk4 ramdisk

El primer comando crea un dispositivo de almacenamiento de bloques en la RAM, y el segundo comando lo formatea con el sistema de archivos OS X estándar.

Si ejecuta df para ver cuánto espacio libre hay en sus discos, obtendrá:

$ df
Filesystem                        512-blocks      Used Available Capacity  Mounted on
/dev/disk0s2                       974509344 435640768 538356576    45%    /
....
/dev/disk4                           1165424     27376   1138048     3%    /Volumes/ramdisk

Observe cómo muestra que el disco RAM está usando 1165424 '512-blocks' (que, si ejecuta df -h , para la salida legible por humanos, verá que es '569 Mi').

Entonces, la respuesta es cambiar el número que especificó en el primer comando, que especificó el tamaño del disco en bloques de 512 bytes. Si desea 1.5 GB (o quizás debería decir ' GiB ', haga lo siguiente:

           1024 MiB   1024 KiB   1024 bytes    1 block  
 1.5 GiB * -------- * -------- * ---------- * ---------   = 3145728 blocks                                                                 
             GiB        MiB         KiB       512 bytes                                         

Para verificar, ejecutaré los siguientes comandos:

$ hdiutil eject /Volumes/ramdisk/

$ diskutil erasevolume HFS+ "ramdisk" 'hdiutil attach -nomount ram://3145728'
Started erase on disk4
Unmounting disk
Erasing
Initialized /dev/rdisk4 as a 2 GB HFS Plus volume
Mounting disk
Finished erase on disk4 ramdisk

$ df
Filesystem                        512-blocks      Used Available Capacity  Mounted on
/dev/disk0s2                       974509344 435460472 538536872    45%    /
...
/dev/disk4                           3145728     24696   3121032     1%    /Volumes/ramdisk

$ df -h 
Filesystem                          Size   Used  Avail Capacity  Mounted on
/dev/disk4                         1.5Gi   12Mi  1.5Gi     1%    /Volumes/ramdisk

Suena como anteriormente, solo podía crear un disco RAM de hasta 2.1 GiB , pero ese no es el caso en Leopardo de las nieves y más nuevo.

También, hay herramientas para ayudar a crear discos RAM sin calcular bloques por ti mismo. No los he usado, pero aquí hay tres: TmpDisk , Make Ram Disk , y crd .

    
respondido por el Clinton Blackmore 07.07.2012 - 18:47

Lea otras preguntas en las etiquetas