2

Допустим, у меня есть программа № 1, запускающая программу № 2, которая запускает программу № 3.

Если я позвоню

ulimit -t 10

перед вызовом программы # 1 КАЖДОЙ программе будет отведено 10 секунд процессорного времени.

Могу ли я применить этот предел к общему времени процессора, используемому всеми 3 программами? В основном я говорю о времени, показанном 'top -S' - оно покажет общее совокупное время ЦП, включая все порожденные "подпроцессы".

Наиболее полезным для меня было бы применение этого кумулятивного поведения для «-t» (процессорного времени). Было бы здорово, если бы я мог применить его и к другим флагам (максимальное использование памяти и т.д.).

Если ulimit не может этого сделать, есть ли альтернативный способ сделать это?

2 ответа2

2

этот предел накладывается на процесс ; пока они рассматриваются как разные процессы (top, htop, ps), предел будет для каждого. переписать код и сделать второй и третий программные рабочие потоки.

1

Взгляните на cgroups ("контрольные группы"):

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .