limites.conf para establecer límites de memoria

limites.conf para establecer límites de memoria

Me gustaría limitar cualquier proceso que utilice más de 500 MB de RAM. AFAIK, esto se hace usando RSS en /etc/security/limits.conf pero el proceso llamado gnome-panel aparentemente está usando 618436 kB de VmRSS. Cómo puede ser esto ?

/etc/security/limits.conf

* rss duro 512000

nombre de usuario@debian:~$ cat /proc/3002/status
Nombre: panel-gnomo
Estado: S (durmiendo)
Tgid: 3002
Pid: 3002
PPid: 2910
TrazadorPid: 0
ID: 1000 1000 1000 1000
Gid: 1000 1000 1000 1000
FDTalla: 64
Grupos: 20 24 25 29 44 46 112 116 117 1000 1002 1003
VmPico: 916636 kB
Tamaño Vm: 916636 kB
VmLck: 0 kB
VmHWM: 618436 kB
VmRSS: 618436kB
DatosVM: 601972 kB
VmStk: 104kB
VmExe: 516kB
VmLib: 29232 kB
VmPTE: 1760 kB
Temas: 1
SeñalQ: 0/14001
Firma: 0000000000000000
ShdPnd: 0000000000000000
SigBlk: 0000000000000000
Firmar: 0000000020001000
SeñalCgt: 0000000180000000
CapInh: 0000000000000000
CapPrm: 0000000000000000
CapEff: 0000000000000000
CapBnd: ffffffffffffffff
CPU_permitidas: 3
Cpus_allowed_list: 0-1
Mems_permitidos: 00000000,00000001
Lista_permitida_mems: 0
interruptores_ctxt_voluntarios: 871965
interruptores_ctxt_no voluntarios: 47553
PaX: PeMR

nombre de usuario@debian:~$ cat /proc/3002/limits
Límite suave Límite duro Unidades     
Tiempo máximo de CPU ilimitado segundos ilimitados   
Tamaño máximo de archivo ilimitado bytes ilimitados     
Tamaño máximo de datos ilimitado bytes ilimitados     
Tamaño máximo de pila 8388608 bytes ilimitados     
Tamaño máximo del archivo principal 0 0 bytes     
Conjunto máximo de residentes 524288000 524288000 bytes     
Procesos máximos 100 100 procesos
Máximo de archivos abiertos 1024 1024 archivos     
Memoria máxima bloqueada 65536 65536 bytes     
Espacio máximo de direcciones bytes ilimitados ilimitados     
Bloqueos máximos de archivos ilimitados bloqueos ilimitados     
Max señales pendientes 14001 14001 señales   
Tamaño máximo de cola de mensajes 819200 819200 bytes     
Prioridad máxima agradable 0 0                    
Prioridad máxima en tiempo real 0 0                    
Tiempo de espera máximo en tiempo real ilimitado ilimitado nosotros

Respuesta1

Encontré esta solución después de mirar aquí:http://shortrecipes.blogspot.de/2009/04/limitsconf-virtual-memory-limit.html

Para tu ejemplo:

* hard as 512000

Esto parece ser equivalente a ulimit -v 512000, aplicado en el momento en que inicia sesión en su cuenta.

Respuesta2

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

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

Respuesta3

No conozco una manera de limitar esto por proceso, pero puede restringir el tamaño total de RSS (y otros) de un grupo de procesos con elcontrolador de recursos de memoria.

Respuesta4

El límite de RSS en limits.conf no funcionará en kernels > 2.4.30.

Debes usargrupos C

información relacionada