Как ограничить количество ядер ЦП, которые пользователь может использовать в любой момент времени в Linux?

Как ограничить количество ядер ЦП, которые пользователь может использовать в любой момент времени в Linux?

Я хотел бы ограничить количество ядер ЦП, которые может использовать конкретный пользователь в любой момент времени. Как это сделать на Linux?

решение1

Насколько я знаю, вы не можете сделать это, кроме как использовать docker как виртуальную среду и ограничить весь контейнер выбранными ядрами. Пример:

docker run --cpuset-cpus="0"

В большинстве случаев вам не придется использовать такое решение. Если один из пользователей создает проблемы, используйте /etc/security/limits.confдобавление записи:

username    -       priority        19

Это должно заставить все пользовательские процессы работать с приоритетом 19 (самым низким), и даже если они потребляют большую часть ресурсов ЦП, они не должны мешать работе других программ на машине.

Кроме того, если речь идет об одном процессе (не о пользователе), то можно использовать niceили cpulimit/cgroups

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