nice/renice меняют приоритет в очереди планировщика, но не ограничивают, сколько ядер или % CPU займёт процесс. Для этого — taskset и cpulimit.
taskset привязывает процесс к конкретным ядрам (CPU affinity) — чтобы шумный batch-job не мешал latency-чувствительному сервису:
taskset -c 2,3 ./backup-script.sh # сразу на ядрах 2 и 3
taskset -cp 4,5 12345 # перепривязать уже запущенный PID
cpulimit ограничивает процент CPU у уже работающего процесса, периодически ставя его на паузу — без изменения priority:
apt install cpulimit
cpulimit -p 12345 -l 50 # не больше 50% одного ядра
Для systemd-сервисов то же самое делает CPUQuota=, но для разового процесса проще не трогать unit-файл.
#linux #sysadmin #performance #cpu
