プロセスごとに使用可能な仮想メモリを制限する方法

プロセスごとに使用可能な仮想メモリを制限する方法

時々、私のGNU / Linuxデスクトップの特定のプロセス(gvやgnashなど)は物理メモリを消費し、システムスラッシングを引き起こします。これらのプロセスは重要ではないので、あまりにも多くのメモリを使用すると自動的にシャットダウンする必要があります。

この目的のために/etc/security/limits.confファイルと-vオプションを使用できると思います。問題は、特定のユーザーに対してプロセスごとに使用可能なメモリー量を制限するのか、そのユーザーのすべてのプロセスを組み合わせて制限するのかです。また、再起動せずにこのファイルを有効にする方法も尋ねたいと思います。

ベストアンサー1

メカニズムもありますulimit。制限できるものをすべて見ることができるシステムコール(LinuxではCライブラリ関数)ulimit(3)とBash組み込みulimitタイプがあります。ulimit -a現在の仮想メモリの制限を見てみましょうulimit -v。と言えば設定できますulimit -v INTEGER-KILOBYTES

ランニングはulimitあなたのすべてを変えるでしょう現在のシェルでは、現在の値より小さい値のみを選択できます。限られた仮想メモリでコマンドを実行するには、Bash サブシェルを使用できます。

( ulimit -v 131072; some-app )

おすすめ記事