Cpulimit este un mic program scris in C, care permite pentru a limitarea utilizarii procesorului prin un proces Linux. Limita specificata este in procente astfel incat putem evita incarcarea maxima ca procesorului generata de script-uri, programe sau procese.
Am gasit destul de util folosirea cpulimit , pentru scripturile de crontab , de exemplu putand sa fac backup peste noapte si astfel pentru arhivarea unui fisier de 50GB folosind gzip nu va folosi toate resursele CPU si va ramane si celorlalte procese timp de CPU.
In cele mai multe distributii Linux , cpulimit este disponibil, astfel incat puteti sa folositi instala folosind comenziile:
sudo apt-get install cpulimit
sau
sudo yum install cpulimit
In cazul in care nu este disponibil dumneavoastra , atunci puteti sa-l compilati foarte usor:
cd / usr / src / wget - nu-check-certificat de https:// github.com / opsengine / cpulimit / arhiva / master-O cpulimit.tar tar-xvf cpulimit.tar CD-opsengine cpulimit-9df7758 face ln-s cpulimit / usr / sbin / cpulimit
Din acest moment puteti rula cpulimit pentru a limita utilizare procesorului de catre un proces prin procentaj , exemplul de mai jos executa arhivarea cu gzip fara a trece de folosirea a 10% din CPU:
/usr/sbin/cpulimit --limit=10 /bin/gzip vzdump-openvz-102-2012_06_26-19_01_11.tar
Puteti verifica cat foloseste gzip in timp real prin comanda :
ps axu | grep [g] zip
sau
top
Prima comanda contine “grep [g] zip
” pentru a evita afisarea obisnuita a ultimei linii:
root 896448 10.0 3.1 159524 3528 ? S 13:12 0:00 /usr/sbin/cpulimit --limit=10 /bin/gzip vzdump-openvz-102-2012_06_26-19_01_11.tar root 26490 0.0 0.0 6364 708 pts/0 S+ 15:24 0:00 grep gzip
Utilizand cpulimit puteti limita un proces care ruleaza deja , exemplu de mai jos aloca o limita de 20% la procesul cu PID 2342 :
/usr/sbin/cpulimit -p 2342 -l 20
Deasemenea este posibila specificarea executabilului in locul PID-ului:
/usr/sbin/cpulimit -P /usr/sbin/nginx -l 30