limit.conf 设置内存限制

11 memory linux

我想限制任何进程使用超过 500 MB 的 RAM。AFAIK 这是使用 /etc/security/limits.conf 中的 RSS 完成的,但名为 gnome-panel 的进程显然使用了 618436 kB 的 VmRSS。怎么会这样 ?

/etc/security/limits.conf

* 硬 rss 512000

username@debian:~$ cat /proc/3002/status
名称:侏儒面板
状态:S(睡眠)
编号:3002
周期:3002
PPid:2910
示踪剂:0
用户名:1​​000 1000 1000 1000
基德:1000 1000 1000 1000
FD尺寸:64
组别:20 24 25 29 44 46 112 116 117 1000 1002 1003 
VmPeak:916636 KB
虚拟机大小:916636 KB
VmLck:0 KB
VmHWM:618436 KB
VmRSS:618436 KB
虚拟机数据:601972 KB
VmStk:104 KB
VmExe:516 KB
VmLib:29232 KB
VmPTE:1760 KB
主题:1
信号:0/14001
签名:0000000000000000
ShdPnd:0000000000000000
签名块:0000000000000000
签名:0000000020001000
签名:0000000180000000
CapInh:0000000000000000
CapPrm:0000000000000000
资本效率:0000000000000000
CapBnd:ffffffffffffffff
Cpu_allowed: 3
cpu_allowed_list: 0-1
Mems_allowed: 00000000,00000001
Mems_allowed_list: 0
自愿_ctxt_switches:871965
非自愿_ctxt_switches:47553
PaX:PeMR

username@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                    
最大实时超时无限无限我们

小智 10

在这里查看后找到了这个解决方案:http : //shortrecipes.blogspot.de/2009/04/limitsconf-virtual-memory-limit.html

对于您的示例:

* hard as 512000
Run Code Online (Sandbox Code Playgroud)

这似乎等同于ulimit -v 512000, 在您登录帐户时应用。


Rom*_*aka 8

limits.conf(5) 手册页说:

rss
  maximum resident set size (KB) (Ignored in Linux 2.4.30 and higher)
Run Code Online (Sandbox Code Playgroud)