limit.conf, чтобы установить пределы памяти

10

Я хотел бы ограничить любой процесс использованием более 500 МБ ОЗУ. AFAIK это делается с использованием RSS в /etc/security/limits.conf, но процесс, называемый gnome-panel, очевидно, использует 618436 кБ VmRSS. Как это может быть ?

/etc/security/limits.conf

* hard rss 512000

имя пользователя @ debian: ~ $ cat / proc / 3002 / status
Название: гном-панель
Состояние: S (спит)
Tgid: 3002
Пид: 3002
PPid: 2910
TracerPid: 0
UID: 1000 1000 1000 1000
Гид: 1000 1000 1000 1000
FDSize: 64
Группы: 20 24 25 29 44 46 112 116 117 1000 1002 1003 
VmPeak: 916636 кБ
VmSize: 916636 кБ
VmLck: 0 кБ
VmHWM: 618436 кБ
VmRSS: 618436 кБ
VmData: 601972 кБ
VmStk: 104 кБ
VmExe: 516 кБ
VmLib: 29232 кБ
VmPTE: 1760 кБ
Темы: 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
добровольные переключатели: 871965
nonvoluunte_ctxt_switches: 47553
PaX: PeMRs

имя пользователя @ debian: ~ $ cat / proc / 3002 / limit
Limit Soft Limit Жесткие лимиты     
Максимальное время процессора неограниченное количество секунд   
Максимальный размер файла неограничен, неограничен байт     
Максимальный размер данных неограничен, неограничен байт     
Максимальный размер стека 8388608 неограниченных байтов     
Максимальный размер файла ядра 0 0 байт     
Макс резидентный набор 524288000 524288000 байт     
Макс обрабатывает 100 100 процессов 
Максимальное количество открытых файлов 1024 1024 файла     
Макс заблокированная память 65536 65536 байт     
Максимальное адресное пространство, неограниченное количество байтов     
Макс файл блокирует неограниченное количество неограниченных блокировок     
Макс ожидающих сигналов 14001 14001 сигналов   
Максимальный размер сообщения 819200 819200 байт     
Макс хороший приоритет 0 0                    
Максимальный приоритет в реальном времени 0 0                    
Максимальный тайм-аут в реальном времени неограниченно нас
ᔕᖺᘎᕊ
источник

Ответы:

7

limits.conf(5) Страница man говорит:

rss
  maximum resident set size (KB) (Ignored in Linux 2.4.30 and higher)
Роман Чепляка
источник
Есть ли другой способ ограничить общий объем памяти, используемый процессом? У меня были проблемы с перебоями из-за программ, использующих слишком много памяти?
Моя страница руководства от 2008 года не упоминала о таком ограничении. Так какое же правильное значение использовать?
@Rupert: моя датирована 24.08.2009. Вот онлайн-версия: kernel.org/pub/linux/libs/pam/Linux-PAM-html/… . К сожалению, я не знаю никакой альтернативы.
Роман Чепляка
as(ограничение адресного пространства) должно помочь, как описано @cib. Установите это, как вы бы rss.
errant.info
1

Ограничение RSS в limit.conf не будет работать в ядрах> 2.4.30.

Вы должны использовать Cgroups

PaulDaviesC
источник
Вы также должны сказать, как использовать cgroups.
Кристиан Чиупиту
@CristianCiupitu Я дал ссылку на документацию Cgroups. Я сам не эксперт в Cgroups и только начал изучать его, чтобы я мог заменить limit.conf на своих серверах.
PaulDaviesC