C
is niet java
waarbij de heapgrootte vast is bij het opstarten.
De hoop en de stapel van een C
gecompileerde applicatie delen beide dezelfde virtuele geheugenruimte en passen zich dynamisch aan.
De grootte van deze ruimte hangt af van of je een 32-bits of een 64-bits binary compileert, en ook of je kernel een 32-bits of een 64-bits kernel is (op SPARC-hardware is het altijd 64-bits).
Als je niet genoeg RAM hebt en je wilt dat Solaris toch grote geheugenreserveringen accepteert, op een vergelijkbare manier waarop Linux meer geheugen vastlegt, kun je gewoon genoeg swap toevoegen om de reservering te ondersteunen door daadwerkelijke opslag.
Als u om de een of andere reden niet tevreden bent met de Solaris libc-geheugentoewijzer, kunt u de gebundelde alternatieven evalueren, zoals libumem
, mtmalloc
of de derde partij hoard
. Zie http://www.oracle. com/technetwork/articles/servers-storage-dev/mem-alloc-1557798.html
voor details.