私の理解では、プロセスが実行中の場合、プロセスには自由に使えるメモリがいくらかあります。スタックのサイズが大きくなると、スタックはプロセスの一方の端から構築され (スタックの前にあるグローバル変数は無視されます)、ヒープは別の端から構築されます。スタックまたはヒープに追加し続けると、最終的にすべてのメモリがこのプロセスで使い果たされます。
プロセスに割り当てられるメモリの量はどのように決定されますか? さまざまな変数に依存しているとしか想像できませんが、可能な限り一般的な応答は素晴らしいでしょう. 具体的に言うと、C++ で書かれた Linux プロセスに興味があります。