私は次のような状況にあります。暗号化されたドライブを持つリモートコンピュータがあります。コンピュータを再起動する必要がある場合は、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
それ以外の場合は、次を選択できます。
- ヌオ港:https://github.com/hakavlad/nohang
- オプション:https://github.com/facebookincubator/oomd
- メモリ不足モニター:https://gitlab.freedesktop.org/hadess/low-memory-monitor/
- psiモニター:https://github.com/endlessm/eos-boot-helper/tree/master/psi-monitor
2021-12-21 編集:
- systemdを使用する最新のディストリビューションにはOOMキラーが組み込まれています
systemd-oomd
。詳しくはこちらをご覧くださいman systemd-oomd
。