Je voudrais limiter tout processus utilisant plus de 500 Mo de RAM. AFAIK, cela se fait en utilisant RSS dans /etc/security/limits.conf mais le processus appelé gnome-panel utilise apparemment 618436 kB de VmRSS. Comment se peut-il ?
/etc/security/limits.conf * hard rss 512000
nom d'utilisateur @ debian: ~ $ cat / proc / 3002 / status Nom: gnome-panel État: S (endormi) Tgid: 3002 Pid: 3002 PPid: 2910 TracerPid: 0 Uid: 1000 1000 1000 1000 Gid: 1000 1000 1000 1000 FDSize: 64 Groupes: 20 24 25 29 44 46112116117 1000 1000 1002 1003 VmPeak: 916636 ko VmSize: 916636 kB VmLck: 0 ko VmHWM: 618436 ko VmRSS: 618436 ko VmData: 601972 kB VmStk: 104 ko VmExe: 516 ko VmLib: 29232 ko VmPTE: 1760 ko Fils: 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 Mems_allowed_list: 0 volontaires_ctxt_switches: 871965 nonvoluntary_ctxt_switches: 47553 PaX: PeMRs
nom d'utilisateur @ debian: ~ $ cat / proc / 3002 / limits Limit Soft Limit Hard Limit Unités Temps CPU max illimité secondes illimitées Taille maximale du fichier illimité octets illimités Taille maximale des données illimité octets illimités Taille maximale de la pile 8388608 octets illimités Taille maximale du fichier principal 0 0 octets Nombre maximal de résidents 524288000 524288000 octets Processus maximum 100100 processus Max fichiers ouverts 1024 1024 fichiers Mémoire verrouillée max 65536 65536 octets Espace d'adressage max illimité octets illimités Max fichier verrouille les verrous illimités illimités Max signaux en attente 14001 14001 signaux Taille maximale de la file d'attente de messages 819200 819200 octets Max nice priorité 0 0 Priorité maximale en temps réel 0 0 Délai d'expiration en temps réel max illimité illimité us
as
(limite d'espace d'adressage) devrait faire l'affaire, comme décrit @cib. Réglez-le comme vous le feriezrss
.Je ne connais pas de moyen de limiter cela sur une base par processus, mais vous pouvez restreindre la taille totale RSS (et autres) d'un groupe de processus avec le contrôleur de ressources mémoire .
la source
La limite RSS dans limits.conf ne fonctionnera pas dans les noyaux> 2.4.30.
Vous devez utiliser Cgroups
la source