CPULimit è un'utilità Linux offerta per limitare l'utilizzo delle risorse di un'applicazione. È utile quando si desidera impedire a una singola applicazione di rallentare altre applicazioni; oppure impedire a un'applicazione di utilizzare un intero core o core per un lungo periodo di tempo.
Detto questo, CPULimit potrebbe non funzionare con tutte le applicazioni in quanto (essenzialmente) avvia / arresta i processi a intervalli per ridurre l'utilizzo della CPU (espresso in media). Questo sarà spiegato nella prossima sezione.
Come funziona?
CPULimit non è progettato per funzionare con applicazioni che, ad esempio, utilizzano il controllo del lavoro; poiché potrebbero essere uccisi quando CPULimit invia un SIGSTOPsegnale stop ( ). In sostanza, le applicazioni verranno accese / spente rapidamente per limitare un programma al numero desiderato di cicli.
Non preoccuparti, la maggior parte delle applicazioni funzionerà. Alcune applicazioni che possono essere limitate includono PHP, Java e Nginx.
Prerequisiti
Per installare correttamente CPULimit, avrai bisogno di:
- Un server che esegue CentOS 7 (solo sistemi a 64 bit).
make, screenE wget.
- Accesso alla radice o
sudoprivilegi.
Installazione di CPULimit
Supponendo di avere tutti i prerequisiti installati, dovresti essere in grado di velocizzare il processo di installazione. Per iniziare, dovrai scaricare CPULimit ed estrarre il tarball:
cd ~
wget https://astuteinternet.dl.sourceforge.net/project/limitcpu/limitcpu/cpulimit-2.5.tar.gz
tar -xvf cpulimit-2.5.tar.gz
Al termine dell'estrazione del tarball, possiamo accedere alla directory appena creata e iniziare a compilare CPULimit:
cd cpulimit-2.5
Ora, esegui makeper iniziare a compilare CPULimit in un file binario:
make
Una volta completato questo processo, avrai un binario nella cpulimit-2.5directory. Per renderlo disponibile a livello di sistema, dovremo eseguire il comando seguente:
make install
Il completamento potrebbe richiedere alcuni minuti.
Configurazione di CPULimit con un'applicazione
Per utilizzare CPULimit, dovremo conoscere l'ID del processo. Questo è noto come PID. Usando toppossiamo vedere un elenco dei nostri processi:
top -c
Vedrai un elenco di processi e dovrebbe apparire come il seguente:
Tasks: 130 total, 1 running, 129 sleeping, 0 stopped, 0 zombie
%Cpu(s): 0.2 us, 0.0 sy, 0.0 ni, 99.8 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 3881740 total, 191952 free, 413472 used, 3276316 buff/cache
KiB Swap: 4063228 total, 4062912 free, 316 used. 2881364 avail Mem
PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND
1336 plex 35 15 1368172 67464 6668 S 0.3 1.7 155:41.58 Plex Plug-in [com.plexapp.system] /usr/lib/plexmediaserver/Resources/Plug-ins-995f1dead+
31345 root 20 0 326572 21844 12784 S 0.3 0.6 86:45.32 docker-containerd --config /var/run/docker/containerd/containerd.toml
1 root 20 0 193704 6744 4088 S 0.0 0.2 6:49.22 /usr/lib/systemd/systemd --switched-root --system --deserialize 21
2 root 20 0 0 0 0 S 0.0 0.0 0:01.45 [kthreadd]
3 root 20 0 0 0 0 S 0.0 0.0 0:12.77 [ksoftirqd/0]
5 root 0 -20 0 0 0 S 0.0 0.0 0:00.00 [kworker/0:0H]
7 root rt 0 0 0 0 S 0.0 0.0 0:13.95 [migration/0]
Se volessimo limitare plex, ad esempio, dovremmo prendere nota del PID. In questo caso, lo è 1336. Se vogliamo limitare plexal 15% della CPU, dobbiamo creare un screened eseguire cpulimit:
screen -S limitcpu
cpulimit -p 1336 -l 15
Per uscire dalla schermata, utilizzare la seguente combinazione: CTRL+ A+ D. Per accedere alla schermata una volta usciti, eseguire semplicemente quanto segue:
screen -r limitcpu
Il formato generale da eseguire cpulimitsarà di seguito:
cpulimit -p (PROCESS PID) -l (CPU %)
Nota : PROCESS PIDè l'ID del processo ed CPU %è il limite della CPU.
Disinstallazione di CPULimit
Rimuovere CPULimit è semplice. Esegui i seguenti comandi:
cd ~/cpulimit-2.5
make deinstall