Привет всем!
Сегодня мы поговорим о том, как можно ограничить использование ресурсов процессора отдельным, особо прожорливым приложениям.
Для этого мы воспользуемся простой утилитой с намекающим названием Cpulimit. Она есть в стандартом репозитории, поэтому установка будет простой:
sudo apt-get install cpulimit
Резать процессорное время можно командой:
cpulimit -b -p PID -l 20 или cpulimit -b -e EXEC -l 20
, где PID- это процесс ID, EXEC- название приложения, а 20- это собственно сам лимит.
Как вы уже догадались, если использовать вторую команду, то ограничен будет только один процесс программы с наименьшим PID.
Такой расклад нас не очень устраивает, поэтому напишем скриптик, который будет вычислять PIDы программы и резать всё.
#!/bin/bash
procid=`pidof top`
arr=$(echo $procid | tr " " "\n")
for x in $arr
do
cpulimit -b -p $x -l 20 &
done
, где вместо top укажите приложение, которое нужно "подрезать".