Erlang VM がメモリ不足の状況で実行されると、単純に VM 全体がクラッシュします。その理由は、それが最も簡単で安全なことだからです。
フォールト トレラント システムが必要な場合は、既に複数のコンピューターが必要です。1 台のコンピューター (正確には自律計算ユニット) だけでは、フォールト トレラントなシステムを構築することはできません。したがって、アプリケーションがメモリ不足の状況で実行されている場合、最も簡単な方法は VM 全体をクラッシュさせることです。とにかく、システムにバグがあります。
すべてのエッジ ケース (処理できるメモリ不足と処理できないメモリ不足) を処理することは、複雑すぎてエラーが発生しやすくなります。問題のあるプロセスを強制終了することは解決策ではありません。まず、どちらが問題のあるプロセスであるかを判断するのは困難です。「ランダムな」(ヒューリスティックに決定された) プロセスを強制終了することは解決策にはなりません。これは、ヒューリスティックによって強制終了されたこのプロセスが、偶然に回復の原因となるプロセスである可能性があるためです。VM 全体を強制終了することは、最も単純なだけでなく、メモリ不足の状況に対する唯一の合理的な解決策でもあります。
信頼性の高いシステムが必要な状況では、最新の一般的な言語や OS で行われている方法は間違いなく間違っています。デスクトップまたはそれほど厳密でない要件では許容できますが、Erlang が設計されたシステムでは絶対に許容できません。