C
no es java
donde el tamaño del almacenamiento dinámico se fija al inicio.
El montón y la pila de una C
La aplicación compilada comparte el mismo espacio de memoria virtual y se ajusta dinámicamente.
El tamaño de este espacio depende de si está compilando un binario de 32 bits o de 64 bits, y también de si su núcleo es de 32 bits o de 64 bits (en hardware SPARC, siempre es de 64 bits).
Si no tiene suficiente RAM y desea que Solaris acepte grandes reservas de memoria de todos modos, de la misma manera que Linux sobreasigna memoria, puede agregar suficiente intercambio para que la reserva esté respaldada por el almacenamiento real.
Si por algún motivo no está satisfecho con el asignador de memoria libc de Solaris, puede evaluar los paquetes alternativos como libumem
, mtmalloc
o el tercero hoard
. Consulte http://www.oracle. com/technetwork/articles/servers-storage-dev/mem-alloc-1557798.html
para más detalles.