Ограничьте относительное (не абсолютное) потребление процессора процессом в Linux

Ограничьте относительное (не абсолютное) потребление процессора процессом в Linux

Какой стандартный способ в Linux применить системную политику для ограниченияродственникИспользование ЦП одним процессом? То есть, на четырехъядерной машине я никогда не хочу, чтобы процесс использовал более 2 ЦП одновременно, даже если процесс создает больше потоков. Я делаюнетхотите абсолютный лимит времени, просто относительный лимит, чтобы одна задача не могла доминировать над машиной. Это также отличается от renice, который позволяет процессу использовать все ресурсы, но просто вежливо отходить в сторону, если они нужны другим.

ulimit— это обычный инструмент ограничения ресурсов, но он не допускает подобных ограничений ЦП. Он может ограничивать количество процессов на пользователя или абсолютное время ЦП, но не ограничивать максимальное количество активных потоков одного процесса.

Я нашел несколько инструментов на уровне пользователя, напримерCPUlimit, но не системный инструмент или настройка. Существует ли такой стандартный контроллер ресурсов в Linux (Red Hat Enterprise, если это имеет значение.) Если такое ограничение наложено, как пользователь может его идентифицировать?

решение1

Слово, которое вы ищете, это "affinity". man taskset. Это может сделать то, что вам нужно.

Связанный контент