limites.conf para definir limites de memória

limites.conf para definir limites de memória

Gostaria de limitar qualquer processo de usar mais de 500 MB de RAM. AFAIK isso é feito usando RSS em /etc/security/limits.conf mas o processo chamado gnome-panel aparentemente está usando 618436 kB de VmRSS. Como isso pode ser ?

/etc/security/limits.conf

* difícil rss 512000

nomedeusuario@debian:~$ cat /proc/3002/status
Nome: painel gnome
Estado: S (dormindo)
Tgid: 3002
Pid: 3002
PPid: 2910
TracePid: 0
Uid: 1000 1000 1000 1000
Dou: 1000 1000 1000 1000
Tamanho FDS: 64
Grupos: 20 24 25 29 44 46 112 116 117 1000 1002 1003
VMPico: 916636 kB
Tamanho da VM: 916636 KB
VMLck: 0 kB
VMHWM: 618436 kB
VMRSS: 618436 kB
Dados VM: 601972 kB
VMStk: 104 kB
VMExe: 516 kB
VMLib: 29.232 kB
VmPTE: 1760 kB
Tópicos: 1
SigQ: 0/14001
SigPnd: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
Assinatura: 0000000020001000
SigCgt: 0000000180000000
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: ffffffffffffff
CPU_permitido: 3
Cpus_allowed_list: 0-1
Mems_permitido: 00000000,00000001
Mems_allowed_list: 0
voluntários_ctxt_switches: 871965
não-voluntários_ctxt_switches: 47553
PaX: PeMRs

nomedeusuário@debian:~$ cat /proc/3002/limits
Limite Soft Limit Hard Limit Unidades     
Tempo máximo de CPU ilimitado segundos ilimitados   
Tamanho máximo do arquivo ilimitado bytes ilimitados     
Tamanho máximo dos dados ilimitados bytes ilimitados     
Tamanho máximo da pilha 8388608 bytes ilimitados     
Tamanho máximo do arquivo principal 0 0 bytes     
Conjunto máximo de residentes 524288000 524288000 bytes     
Máximo de processos 100 100 processos
Máximo de arquivos abertos 1024 1024 arquivos     
Memória bloqueada máxima 65536 65536 bytes     
Espaço máximo de endereço ilimitado bytes ilimitados     
Arquivo máximo bloqueia bloqueios ilimitados e ilimitados     
Máximo de sinais pendentes 14001 14001 sinais   
Tamanho máximo da fila de mensagens 819200 819200 bytes     
Máxima prioridade agradável 0 0                    
Prioridade máxima em tempo real 0 0                    
Tempo limite máximo em tempo real ilimitado ilimitado nós

Responder1

Encontrei esta solução depois de olhar aqui:http://shortrecipes.blogspot.de/2009/04/limitsconf-virtual-memory-limit.html

Para o seu exemplo:

* hard as 512000

Isso parece ser equivalente a ulimit -v 512000, aplicado no momento em que você faz login em sua conta.

Responder2

limits.conf(5)página de manual diz:

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

Responder3

Não conheço uma maneira de limitar isso por processo, mas você pode restringir o tamanho total de RSS (e outros) de um grupo de processos com ocontrolador de recursos de memória.

Responder4

O limite RSS em limites.conf não funcionará em kernels > 2.4.30.

Você deve usarGrupos C

informação relacionada