MacOS no limita el tamaño máximo de los procesos (es decir, el conjunto de trabajo) en función de la RAM total y de una proporción fija de disco disponible. Esto no es 100% el caso de ninguna manera en absoluto.
Puedes establecer límites arbitrarios en el tamaño de los procesos utilizando el comando "ulimit" en el Terminal, estos son sin embargo límites elegidos por el usuario - y por lo tanto pueden ser cambiados cuando sea necesario.
Por supuesto, existen límites "físicos" para el tamaño de un proceso, determinados por el hardware. Contrariamente a lo que se suele creer, no es posible que un sistema de 64 bits ordinario tenga procesos que ocupen 2^64-1 bytes de RAM. En MacOS (y otros sistemas Windows) los procesos están limitados a 2^48-1 bytes. Es decir, un puntero dado sólo tiene 48 bits que son realmente significativos.
Existen técnicas de paginación para contrarrestarlo, pero en la práctica ningún programa ordinario las emplea.
Además de los límites físicos, hay otros límites con los que te encontrarás. Si tienes datos significativos en la RAM, el sistema necesita algún lugar donde almacenarlos. La RAM total instalada en el sistema, así como el espacio libre en disco disponible para swapping se convierten en un límite.
Tenga en cuenta que no se trata de un límite fijo en modo alguno. Si el contenido de tu RAM es comprimible (es decir, por ejemplo, si contiene muchos bytes repetidos), entonces podrás tener tamaños de proceso extremadamente grandes sin problemas. Mucho más de lo que tienes de RAM física y espacio swap.
0 votos
Una cosa no tiene nada que ver con la otra. El espacio de intercambio se utiliza cuando te quedas sin memoria. Un SSD o HDD no tiene nada que ver con el tamaño del proceso, tu memoria sí.
0 votos
Soy muy consciente de la teoría detrás de la memoria virtual y similares, pero si el único límite para el tamaño del proceso fuera el ancho del bus de direcciones, entonces como OS X es de 64 bits debería ser capaz de abordar más de un Exabyte de memoria. Esto claramente no es el caso ya que los procesos informan de que se han quedado sin memoria, mucho antes de que exista tal límite. Discusiones como enlace implican que hay un límite OS
0 votos
Desde ese mismo enlace, alguien ha publicado un enlace a documentación oficial según la cual MacOS puede direccionar hasta 18 Exabytes de RAM. Lo que te falta en esa ecuación es la cantidad máxima de RAM que puede soportar la CPU. Consulta esta respuesta para más detalles: apple.stackexchange.com/a/317994/119271
0 votos
Dicho esto... ¿qué tiene que ver una unidad SSD? ¿Por qué es relevante aquí la unidad SSD?
0 votos
Si la VM máxima está limitada a una proporción del tamaño del disco, o SSD en Mini, entonces como en un Mini el SSD está cableado y no es actualizable me gustaría saber si necesito un SSD más grande para soportar tamaños de VM más grandes a medida que crezca el tamaño de la simulación.
0 votos
En cuanto al direccionamiento de 18 Exabyte, parece que existe algún tipo de limitación del núcleo por debajo de esa cifra (véase aquí .
0 votos
El tamaño de la máquina virtual depende de la memoria RAM, no del tamaño de la unidad. Normalmente es un 1:1, pero de nuevo, no usas VM si tienes suficiente RAM.
0 votos
El enlace al que haces referencia en cuanto a un límite de memoria es una cuestión de direccionamiento. No entiendo por qué la documentación oficial no es suficiente, pero las cuestiones anecdóticas son más que suficientes....
0 votos
El enlace "oficial" es sólo una referencia a la dirección más grande que OS X puede utilizar en el espacio VM, que no tiene por qué equivaler al tamaño de la memoria contigua asignada, ya que el mapa de memoria asignado puede tener agujeros. Detalles más completos están vinculados de la misma aquí lo que demuestra que la VM requiere a su vez estructuras de memoria que la soporten dentro del núcleo. Por tanto, la implementación de VM en el núcleo limitará el espacio máximo real de VM frente al espacio lógico.
0 votos
Vamos continuar esta discusión en el chat .