Я хотел бы ограничить любой процесс использованием более 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 Максимальный тайм-аут в реальном времени неограниченно нас
as
(ограничение адресного пространства) должно помочь, как описано @cib. Установите это, как вы быrss
.Я не знаю, как ограничить это для каждого процесса, но вы можете ограничить общий размер RSS (и других) группы процессов с помощью контроллера ресурсов памяти .
источник
Ограничение RSS в limit.conf не будет работать в ядрах> 2.4.30.
Вы должны использовать Cgroups
источник