非常によく似た質問が.net
Windows環境のために頼まれた:Unix - 暴走的なメモリ消費からPCを守るのを自分で防ぎますか?
How do you protect yourself from runaway memory consumption bringing down the PC?
この質問は、CまたはC++を使用して、Unix環境のためにポーズをとっています。例として、以下の危険な小さなブロックを考えてみましょう。
#include <vector>
int main() {
int n;
std::vector<double> A(n);
}
あなたが運が良ければ、コードは範囲エラーをスローします。あなたが不運な場合(私の場合、メモリ内の値は283740392でした)、コードは使用可能なすべてのRAMをすばやく使用し、ディスクへの大規模なスワッピングを引き起こし、OSを仮想停止にすばやく研磨して殺すことができます。プロセスはいつでも終了することができますが、他の実行中のプロセスをすべてメモリに戻す必要があるため、回復には数分かかることがあります。これはではありません。答えがRAMでないことを意味する質問があれば、使用可能なマシンを掃除する暴走プロセスを簡単に行うことができます。
'ulimit -v'を実行するとどうですか? –