linux de cpu kullanımını kısıtlamak
genel olarak bir uygulamanın çok fazla cpu tüketmesi istenilmez. bu cpu tüketimi genel olarak bir kaç nedenden kaynaklanır.
- kötü programcılık örnekleri
- zafiyat oluşturmak için kötü niyetli uygulamalar
- iyi yönetilmeyen sunucularda yük dengeleme v.b. yapılmaması
- gerçekten işlem gücü gerektiren kernel derleme, 3d render v.b. işlemlerde
cpu tüketimi neden olursa olsun pcde bunun olmasını elbette istemiyoruz.. bunun için oldukça kullanışlı bir uygulama mevcut. önce uygulamayı sistemize kuralım.
sudo apt-get install cpulimit
kurulu yaptıktan sonra kullanmaya başlayabilirsiniz basit bir örnek yapalım.
cpulimit -l 20 python face-detect.py haarcascade.xml
diğer kullanım seçenekleri için help den yararlanılabilir. sisteminizde faza tüketilen uygulamalar için http://www.ferhatcicek.com/bilisim-dunyasi/isletim-sistemi-bilisim-dunyasi/linux/sh/20170821/yuksek-kaynak-tuketen-uygulamalari-bulmak/2177.html yazısına bakabilirsiniz.
Usage: cpulimit TARGET [OPTIONS...] [-- PROGRAM]
TARGET must be exactly one of these:
-p, --pid=N pid of the process
-e, --exe=FILE name of the executable program file
The -e option only works when
cpulimit is run with admin rights.
-P, --path=PATH absolute path name of the
executable program file
OPTIONS
-b --background run in background
-f --foreground launch target process in foreground and wait for it to exit
-c --cpu=N override the detection of CPUs on the machine.
-l, --limit=N percentage of cpu allowed from 1 up.
Usually 1 - 800, but can be higher
on multi-core CPUs (mandatory)
-m, --monitor-forks Watch children/forks of the target process
-q, --quiet run in quiet mode (only print errors).
-k, --kill kill processes going over their limit
instead of just throttling them.
-r, --restore Restore processes after they have
been killed. Works with the -k flag.
-s, --signal=SIG Send this signal to the watched process when cpulimit exits.
Signal should be specificed as a number or
SIGTERM, SIGCONT, SIGSTOP, etc. SIGCONT is the default.
-v, --verbose show control statistics
-z, --lazy exit if there is no suitable target process,
or if it dies
-- This is the final CPUlimit option. All following
options are for another program we will launch.
-h, --help display this help and exit