web-dev-qa-db-ja.com

メモリ制限を設定するためのlimits.conf

プロセスが500 MBを超えるRAMを使用することを制限したいと思います。私の知る限り、これは/etc/security/limits.conf内のRSSを使用して行われますが、gnome-panelと呼ばれるプロセスは、618436 kBのVmRSSを使用しているようです。どうすればいいの ?

/etc/security/limits.conf

* hard rss 512000

username @ debian:〜$ cat /proc/3002/status
Name:gnome-panel 
 State:S(sleeping)
 Tgid:3002 
 Pid:3002 
 PPid:2910 
 TracerPid:0 
 Uid:1000 1000 1000 1000 
 Gid:1000 1000 1000 1000 
 FDSize:64 
グループ:20 24 25 29 44 46112116117 1000 1002 1003 
 VmPeak:916636 kB 
 VmSize:916636 kB 
 VmLck:0 kB 
 VmHWM:618436 kB 
 VmRSS:618436 kB 
 VmData:601972 kB 
 VmStk:104 kB 
 VmExe:516 kB 
 VmLib:29232 kB 
 VmPTE:1760 kB 
スレッド:1 
 SigQ:0/14001 
 SigPnd:0000000000000000 
 ShdPnd:0000000000000000 
 SigBlk:0000000000000000 
 SigIgn:0000000020001000 
 SigCgt:0000000180000000 
 CapInh:0000000000000000 
 CapPrm:0000000000000000 
 CapEff:0000000000000000 
 CapBnd:ffffffffffffffff 
 Cpus_allowed:3 
 Cpus_allowed_list:0-1 
 Mems_allowed:00000000,00000001 
 Me ms_allowed_list:0 
 voluntary_ctxt_switches:871965 
 nonvoluntary_ctxt_switches:47553 
 PaX:PeMRs

username @ debian:〜$ cat /proc/3002/limits
Limit Soft Limit Hard Limit Units 
 Max cpu time unlimited unlimited seconds 
 Max file size unlimited unlimited bytes 
最大データサイズ無制限無制限バイト
最大スタックサイズ8388608無制限バイト
最大コアファイルサイズ0 0バイト
最大常駐セット524288000 524288000バイト
最大プロセス100 100プロセス
最大オープンファイル1024 1024ファイル
最大ロックメモリ65536 65536バイト
最大アドレススペース無制限無制限バイト
最大fi le locks無制限無制限ロック
最大保留信号14001 14001信号
最大msgqueueサイズ819200 819200バイト
最大Nice優先度0 0 
最大リアルタイム優先度0 0 
最大リアルタイムタイムアウト無制限無制限私たち
10
Rupert Jipe

ここを見てこのソリューションを見つけました: http://shortrecipes.blogspot.de/2009/04/limitsconf-virtual-memory-limit.html

あなたの例のために:

* hard as 512000

これはulimit -v 512000と同等のようで、アカウントにログインした瞬間に適用されます。

10
cib

limits.conf(5) manページには次のように書かれています:

rss
  maximum resident set size (KB) (Ignored in Linux 2.4.30 and higher)
7
Roman Cheplyaka

Limits.confのRSS制限は、カーネル> 2.4.30では機能しません。

Cgroups を使用する必要があります

1
PaulDaviesC

これをプロセスごとに制限する方法はわかりませんが、 memory resource controller を使用して、プロセスのグループのRSS(およびその他)の合計サイズを制限できます。

1
ephemient