C
ist nicht java
wobei die Heap-Größe beim Start festgelegt wird.
Der Heap und der Stack eines C
kompilierte Anwendung teilen sich denselben virtuellen Speicherplatz und passen sich dynamisch an.
Die Größe dieses Speicherplatzes hängt davon ab, ob Sie eine 32-Bit- oder eine 64-Bit-Binärdatei kompilieren und ob Ihr Kernel ein 32-Bit- oder ein 64-Bit-Kernel ist (auf SPARC-Hardware ist es immer 64-Bit).
Wenn Sie nicht genug RAM haben und möchten, dass Solaris trotzdem große Speicherreservierungen akzeptiert, können Sie auf ähnliche Weise, wie Linux den Speicher überschreibt, einfach genügend Swap hinzufügen, damit die Reservierung durch tatsächlichen Speicher unterstützt wird.
Wenn Sie aus irgendeinem Grund mit der Solaris-libc-Speicherzuweisung unzufrieden sind, können Sie die gebündelten Alternativen wie libumem
, mtmalloc
oder der Drittanbieter hoard
. Siehe http://www.oracle. com/technetwork/articles/servers-storage-dev/mem-alloc-1557798.html
für Details.