C
är inte java
där högstorleken är fixerad vid start.
Högen och stapeln av en C
kompilerade applikationer delar båda samma virtuella minnesutrymme och justerar dynamiskt.
Storleken på detta utrymme beror på om du kompilerar en 32-bitars eller en 64-bitars binär, och även om din kärna är en 32-bitars eller en 64-bitars (på SPARC-hårdvara är det alltid 64-bitars).
Om du inte har tillräckligt med RAM och vill att Solaris ändå ska acceptera stora minnesreservationer, på samma sätt som Linux överbefäster minne, kan du bara lägga till tillräckligt mycket swap för att reservationen ska backas upp av faktisk lagring.
Om du av någon anledning är missnöjd med Solaris libc minnesallokator kan du utvärdera de medföljande alternativen som libumem
, mtmalloc
eller tredje part hoard
. Se http://www.oracle. com/technetwork/articles/servers-storage-dev/mem-alloc-1557798.html
för detaljer.