安定性向上のためのOS設定の変更(メモリオーバーコミット関連)について

(バッチキューを利用している方向けの情報です)

学術国際情報センター
平成27年4月3日 

【安定性向上のためのOS設定の変更(メモリオーバーコミット関連)について】

  これまで、ノードのメモリ容量ぎりぎりを使用するジョブを実行した際に、ノードをダウン、リブートさせてしまう現象が、主にGPUジョブにおいて度々発生しておりました。改善のため以下のように設定を変更いたします。

・変更前

OSのメモリのオーバーコミットが有効になっていました。

vm.overcommit_memory=0
vm.overcommit_ratio=50

実際に利用可能なメモリ以上にメモリが確保可能な状態でした。

例えば、Pinnedメモリを大量に使用したGPUジョブによりメモリが枯渇すると、ノード動作に必要なプロセスがkillされノードがハングアップ・再起動するケースが見られました。

また、実際に利用可能なメモリ以上を確保するプログラムでも、
実際に利用されない限り実行可能でした。

・変更後

OSのメモリのオーバーコミットが無効になります。

vm.overcommit_memory=2
vm.overcommit_ratio=100

ジョブによりメモリが枯渇するとジョブのプロセスのみが異常終了します。この場合計算ノードは再起動しません。

一方、これまで動いていた実際に利用可能なメモリ以上を
確保するプログラムは、確保に失敗し異常終了します。