
Я хотел бы ограничить количество ядер ЦП, которые может использовать конкретный пользователь в любой момент времени. Как это сделать на Linux?
решение1
Насколько я знаю, вы не можете сделать это, кроме как использовать docker как виртуальную среду и ограничить весь контейнер выбранными ядрами. Пример:
docker run --cpuset-cpus="0"
В большинстве случаев вам не придется использовать такое решение. Если один из пользователей создает проблемы, используйте /etc/security/limits.conf
добавление записи:
username - priority 19
Это должно заставить все пользовательские процессы работать с приоритетом 19 (самым низким), и даже если они потребляют большую часть ресурсов ЦП, они не должны мешать работе других программ на машине.
Кроме того, если речь идет об одном процессе (не о пользователе), то можно использовать nice
или cpulimit
/cgroups