他の人が言ったように、また質問で提供したリンクに記載されているように、8MiB スタックを持っていても何も害はありません (64 ビット システムでは問題にならないアドレス空間を消費することを除けば)。
Linux は非常に長い間 8MiB スタックを使用してきました。この変更は、1995 年 7 月にカーネルのバージョン 1.3.7 で導入されました。当時は制限が導入されたものとして提示されましたが、以前は制限がありませんでした:
<ブロック引用>適切なデフォルト値でスタックを制限してください:root は、必要に応じてこの制限をいつでも増やすことができます.8MB が妥当と思われます.
Linux では、スタック制限はプログラム引数のサイズと環境にも影響し、スタック制限の 4 分の 1 に制限されます。カーネルは、引数と環境に最低 32 ページを強制します。
スレッドの場合、スタック制限 (RLIMIT_STACK
) は無制限、pthread_create
新しいスレッドのスタックに独自の制限を適用します — ほとんどのアーキテクチャでは、8MiB 未満です。
8MB は 仮想 スタックのサイズ。アプリケーションが現在物理的に割り当てられているよりも多くのスタックを使用しようとすると、ページ フォールトが発生します。カーネルのページ フォールト ハンドラは、物理
完全な説明については、https://unix.stackexchange.com/a/280865/21212 を参照してください。
したがって、スタック サイズを減らすことはすべき アプリケーションの物理メモリ使用量を減らす効果はありません。