limit.conf, aby ustawić limity pamięci


10

Chciałbym ograniczyć jakikolwiek proces korzystania z ponad 500 MB pamięci RAM. AFAIK odbywa się to za pomocą RSS w /etc/security/limits.conf, ale proces o nazwie gnome-panel najwyraźniej używa 618436 kB VmRSS. Jak to może być ?

/etc/security/limits.conf

* twardy rss 512000

nazwa użytkownika @ debian: ~ $ cat / proc / 3002 / status
Nazwa: panel gnome
Stan: S (spanie)
Tgid: 3002
Pid: 3002
PPid: 2910
TracerPid: 0
Uid: 1000 1000 1000 1000
Gid: 1000 1000 1000 1000
Rozmiar FDS: 64
Grupy: 20 24 25 29 44 46 112 116 117 1000 1002 1003 
VmPeak: 916636 kB
VmSize: 916636 kB
VmLck: 0 kB
VmHWM: 618436 kB
VmRSS: 618436 kB
VmData: 601972 kB
VmStk: 104 kB
VmExe: 516 kB
VmLib: 29232 kB
VmPTE: 1760 kB
Wątki: 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
Dozwolone memy: 00000000,00000001
Lista dozwolonych adresów: 0
dobrowolne_wtxt_włączniki: 871965
przełączniki nonvoluntary_ctxt_switch: 47553
PaX: PeMRs

nazwa użytkownika @ debian: ~ $ cat / proc / 3002 / limit
Limit miękkiego limitu Jednostki twardego limitu     
Maksymalny czas procesora nieograniczony nieograniczony sekund   
Maksymalny rozmiar pliku nieograniczona nieograniczona liczba bajtów     
Maksymalny rozmiar danych nieograniczona nieograniczona liczba bajtów     
Maksymalny rozmiar stosu 8388608 nieograniczona liczba bajtów     
Maksymalny rozmiar pliku podstawowego 0 0 bajtów     
Maksymalny zestaw rezydentów 524288000 524288000 bajtów     
Max przetwarza 100 100 procesów 
Maksymalna liczba otwartych plików 1024 1024 plików     
Maksymalna zablokowana pamięć 65536 65536 bajtów     
Maksymalna przestrzeń adresowa nieograniczona nieograniczona liczba bajtów     
Maksymalna liczba blokad plików nieograniczona liczba nieograniczonych blokad     
Maksymalna liczba oczekujących sygnałów 14001 14001 sygnałów   
Maksymalny rozmiar kolejki ms 819200 819200 bajtów     
Max miły priorytet 0 0                    
Maksymalny priorytet w czasie rzeczywistym 0 0                    
Maksymalny czas w czasie rzeczywistym nieograniczony nieograniczony nas

Odpowiedzi:



7

limits.conf(5) strona man mówi:

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

Czy istnieje jakiś inny sposób ograniczenia całkowitej pamięci używanej przez proces? Miałem wcześniej problemy z thrashowaniem z powodu zbyt dużej ilości pamięci w programach?

Moja strona podręcznika z 2008 roku nie wspominała o takich ograniczeniach. Jaka jest więc poprawna wartość?

@Rupert: mój jest datowany 24.08.2009. Oto wersja online: kernel.org/pub/linux/libs/pam/Linux-PAM-html/… . Niestety nie znam żadnej alternatywy.
Roman Cheplyaka

as(limit przestrzeni adresowej) powinien załatwić sprawę, jak opisano w @cib. Ustaw tak, jak chcesz rss.
errant.info


1

Limit RSS w limit.conf nie działa w jądrach> 2.4.30.

Musisz użyć Cgroups


Powinieneś także powiedzieć, jak używać cgroups.
Cristian Ciupitu,

@CristianCiupitu Podałem link do dokumentacji Cgroups. Ja sam nie jestem ekspertem od Cgroups i właśnie zacząłem się go uczyć, abym mógł zastąpić limit.conf na moich serwerach.
PaulDaviesC
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.