
私は、docker コンテナーを備えた 8 GB の RAM を搭載した Ubuntu VM を実行しています (8 GB は私の要件にはほぼ十分です)。しかし、ある時点で、メモリ不足のために VM がフリーズ/クラッシュし、VM の電源をオフにしてリセットするしか選択肢がなくなります。
OS がフリーズすることなく実行できるだけの十分なメモリが常に確保されるように実行または追加できるシステム構成はありますか?
答え1
VM の OS 内で必要なもの:
実行するすべてのものの設定を調整して、メモリが最小限に抑えられるようにします... (これは各サービス/プログラムによって異なります)
おそらく、「OOM Killer」(OOM はここで Out Of Memory のことです)、つまり、何らかのヒューリスティックに応じてプロセス (場合によっては正しいプロセスではない) を強制終了するカーネル部分に対しても正しい設定を使用する必要があるでしょう。たとえば、次を参照してください。OOM キラーはどのプロセスを最初に終了するかをどのように決定しますか?
また、必要に応じてメモリをスワップするオプションも提供し(「正しい方法」で調整する)、OOM「最後の手段」の「ソリューション」を選択する前に、VM の OS で使用する必要があります。