C
nie jest java
gdzie rozmiar sterty jest ustalony podczas uruchamiania.
Sterta i stos C
skompilowana aplikacja współdzieli tę samą przestrzeń pamięci wirtualnej i dostosowuje się dynamicznie.
Rozmiar tej przestrzeni zależy od tego, czy kompilujesz plik binarny 32- czy 64-bitowy, a także od tego, czy twoje jądro jest 32-bitowe czy 64-bitowe (na sprzęcie SPARC zawsze jest to 64-bitowe).
Jeśli nie masz wystarczającej ilości pamięci RAM i chcesz, aby Solaris i tak akceptował duże rezerwacje pamięci, w podobny sposób, w jaki Linux zatwierdza pamięć, możesz po prostu dodać wystarczającą ilość wymiany, aby rezerwacja była wspierana przez rzeczywistą pamięć masową.
Jeśli z jakiegoś powodu nie jesteś zadowolony z alokatora pamięci Solaris libc, możesz ocenić dołączone alternatywne, takie jak libumem
, mtmalloc
lub strony trzeciej hoard
. Zobacz http://www.oracle. com/technetwork/articles/servers-storage-dev/mem-alloc-1557798.html
po szczegóły.