どのプロセスでも 500 MB を超える RAM の使用を制限したいと思います。私の知る限り、これは /etc/security/limits.conf の RSS を使用して行われますが、gnome-panel というプロセスは 618436 kB の VmRSS を使用しているようです。これはどうしてでしょうか?
制限 * ハードRSS 512000
ユーザー名@debian:~$ cat /proc/3002/status 名前: gnome-panel 状態: S (睡眠中) タグ: 3002 シリアル番号: 3002 PPid: 2910 トレーサーPid: 0 ユーザーID: 1000 1000 1000 1000 ギルド: 1000 1000 1000 1000 FDサイズ: 64 グループ: 20 24 25 29 44 46 112 116 117 1000 1002 1003 Vmピーク: 916636 KB VMサイズ: 916636 KB 容量: 0 KB 仮想メモリ: 618436 KB 618436 KB VMデータ: 601972 KB 仮想マシンサイズ: 104 KB 仮想マシン実行ファイル: 516 KB VmLib: 29232 KB VmPTE: 1760 KB スレッド: 1 シグナルQ: 0/14001 署名: 00000000000000000 消去済み: 00000000000000000 シグナルブロック: 00000000000000000 署名: 0000000020001000 信号コード: 0000000180000000 キャップインヒビター: 00000000000000000 キャッププリム: 00000000000000000 キャップエフェク: 00000000000000000 キャップボンド: ffffffffffffffff 許可されるCPU: 3 CPU 許可リスト: 0-1 許可されたメモリ: 00000000,00000001 許可リスト: 0 自発的 ctxt スイッチ: 871965 非自発的 ctxt スイッチ: 47553 PaX: PeMRs
ユーザー名@debian:~$ cat /proc/3002/limits 制限 ソフト制限 ハード制限 ユニット 最大CPU時間無制限無制限秒 最大ファイルサイズ無制限、無制限バイト 最大データサイズ無制限無制限バイト 最大スタックサイズ 8388608 無制限バイト 最大コアファイルサイズ 0 0 バイト 最大常駐セット 524288000 524288000 バイト 最大プロセス数 100 100 プロセス 最大オープンファイル数 1024 1024ファイル 最大ロックメモリ 65536 65536 バイト 最大アドレス空間無制限無制限バイト 最大ファイルロック数 無制限 無制限ロック 保留中の信号の最大数 14001 14001 信号 最大メッセージキューサイズ 819200 819200 バイト 最大ナイス優先度 0 0 最大リアルタイム優先度 0 0 最大リアルタイムタイムアウト 無制限 無制限
答え1
こちらを見てこの解決策を見つけました:http://shortrecipes.blogspot.de/2009/04/limitsconf-virtual-memory-limit.html
たとえば:
* hard as 512000
ulimit -v 512000
これは、アカウントにログインした瞬間に適用されると同等のようです。
答え2
limits.conf(5)
man ページには次のように書かれています:
rss
maximum resident set size (KB) (Ignored in Linux 2.4.30 and higher)
答え3
プロセスごとに制限する方法はわかりませんが、プロセスグループのRSS(およびその他の)サイズの合計を制限するには、メモリリソースコントローラ。
答え4
limits.conf の RSS 制限は、カーネル 2.4.30 以降では機能しません。
使用する必要がありますCグループ