私はすべてのメモリとスワップスペースを簡単に使用できるプロセス(gdb)を実行してきました。これが発生するたびにシステム全体が非常に応答しなくなり、Xorgがほとんど更新されず、他のttyに切り替えることができず、コンソールにコマンドを入力できません。
私は次のようにメモリを別々に設定してみました。
sudo sysctl -w vm.min_free_kbytes=407580
sudo sysctl -w vm.swappiness=5
仮想メモリの一部は予約されていますが、スワップ領域はすべて使用され、システムが応答しないままになります。
システムが完全に停止するのを防ぐための確実な方法がある人はいますか?それでは、メモリを大量に消費するプロセスを終了できますか?
修正する:
特定のシェルで開始された各プロセスのメモリ使用量を制限する方法を見つけました。
ulimit -v 2037900
これは、仮想メモリをプロセスあたり2037900KiB(マイ合計メモリ)に制限します。これは、1つのプロセスで使用する必要がある以上のものです。これまで、これはシステムの速度低下と停止を防ぐようです。
誰かが良いシステムリソース管理方法を知っているのだろうか。
答え1
Linuxメモリ不足キラーを研究してください。サーバーで自動的に起動しませんか?私にかかっています。
http://www.oracle.com/technetwork/articles/servers-storage-dev/oom-killer-1911807.html