Jak řekli jiní, a jak je zmíněno v odkazu, který uvádíte ve své otázce, 8MiB zásobník nic nezkazí (kromě spotřeby adresního prostoru — na 64bitovém systému na tom nezáleží).
Linux používá 8MiB zásobníky po velmi dlouhou dobu; změna byla představena ve verzi 1.3.7 jádra v červenci 1995. Tehdy to bylo prezentováno jako zavedení limitu, dříve žádný nebyl:
Omezte zásobník na nějakou rozumnou výchozí hodnotu:root může tento limit v případě potřeby vždy zvýšit. 8 MB se zdá rozumné.
V Linuxu limit zásobníku ovlivňuje také velikost argumentů programu a prostředí, které jsou omezeny na jednu čtvrtinu limitu zásobníku; jádro vyžaduje minimálně 32 stránek pro argumenty a prostředí.
U vláken, pokud je limit zásobníku (RLIMIT_STACK
) je neomezený, pthread_create
aplikuje své vlastní limity na zásobníky nových vláken – a na většině architektur je to méně než 8 MiB.
8 MB je virtuální velikost zásobníku. Chyba stránky nastane, když se vaše aplikace pokusí použít více zásobníku, než je aktuálně fyzicky přiděleno. Obsluha chyb stránky jádra pak přidělí fyzické a poté bude vaše aplikace pokračovat.
Úplné vysvětlení najdete na https://unix.stackexchange.com/a/280865/21212.
Takže by mělo zmenšit velikost zásobníku nemají žádný vliv na snížení využití fyzické paměti vaší aplikací.