C
není java
kde je velikost haldy při spuštění pevná.
Hromada a zásobník C
kompilovaná aplikace sdílí stejný prostor virtuální paměti a dynamicky se přizpůsobuje.
Velikost tohoto prostoru závisí na tom, zda kompilujete 32bitové nebo 64bitové binární soubory a také na tom, zda je vaše jádro 32bitové nebo 64bitové (na hardwaru SPARC je to vždy 64bitové).
Pokud nemáte dostatek RAM a chcete, aby Solaris stejně akceptoval velké rezervace paměti, podobně jako Linux overuje paměť, stačí přidat dostatek swapu, aby byla rezervace zálohována skutečným úložištěm.
Pokud z nějakého důvodu nejste spokojeni s alokátorem paměti Solaris libc, můžete vyhodnotit přibalené alternativní, jako je libumem
, mtmalloc
nebo třetí strana hoard
. Viz http://www.oracle. com/technetwork/articles/servers-storage-dev/mem-alloc-1557798.html
pro podrobnosti.