空腹アプリケーション用のメモリウォッチドッグ

空腹アプリケーション用のメモリウォッチドッグ

私は次のような状況にあります。暗号化されたドライブを持つリモートコンピュータがあります。コンピュータを再起動する必要がある場合は、OSがロードされる前にSSH経由でアクセスする方法がないため、復号化パスワードを入力するために物理的に存在する必要があります。

これを念頭に置いて、私はPCを使って私を実行しますjupyter notebook。唯一の問題は、時には使用可能なすべてのメモリ(32G)をすばやく消費するコードを実行し、コンピュータが応答しなくなることです。アクセスします。

私は大学でループでそれ自体で始まるCプログラム(基本的に多くのRAMを使用するプログラム)を書いたことを覚えています。プログラムは、利用可能なすべてのメモリを使い果たし、PCをクラッシュする前に監視デーモンによって終了しました。この目標を達成するにはどうすればよいですか?遊ぶulimit?これはとても単純なようです。

Artemの提案のおかげで、私は彼が提案した解決策を見つけました。 Earlyoomが問題を解決できるようです。 https://www.reddit.com/r/linux/comments/d2nssy/a_userspace_outofmemory_killer_oomd_020_released/

答え1

個人的に好きなのはearlyoomです(Fedora 32にはデフォルトで含まれており、有効になっています)。https://github.com/rfjakob/earlyoom

それ以外の場合は、次を選択できます。

2021-12-21 編集:

  • systemdを使用する最新のディストリビューションにはOOMキラーが組み込まれていますsystemd-oomd。詳しくはこちらをご覧くださいman systemd-oomd

関連情報