RAMが512MBでスワップスペースが348MBのDebian VMシステムでエディタで1GBファイルを開いたときにメモリが不足するとどうなりますか?
システムのクラッシュを引き起こしますか?それともそうでなければ、Linuxはこれをどのように処理しますか?
インストールは賢明な対策ではありません。スワップスペースそれでは、必要に応じて十分なスワップスペースが自動的に動的に作成されますか?
sudo apt-get install swapspace
ベストアンサー1
これはランタイム設定、特にメモリオーバーコミット(詳細について/proc/sys/vm/overcommit_memory
はman 5 proc
参照)によって異なります。
メモリオーバーコミットが無効になると、エディタ(および同時に試行する他のプログラム)のメモリ割り当て試行は失敗します。彼らはシステムコールから失敗の結果を得るでしょう。これを処理することは各プログラムに依存しますが、残念ながら一般的な結果はプログラムがクラッシュすることです。たとえば、編集者は単にファイルを開くことを拒否することができます。
メモリオーバーコミットが有効になると、メモリを要求するシステムコールが成功する可能性が高くなります。この場合、実際にメモリにアクセスすると、カーネルはメモリ不足を認識し、メモリを回復するためにプロセスを終了します。プロセスは編集者でも、そうでない場合もあります。選択は、システムの各プロセスoom_score
(複数のカーネル経験的方法の結果)と(構成)によって異なります。oom_score_adj
これはproc(5)マンページにもあります。