Nell'ambito delle attività di amministrazione di server basati su ambienti Linux, è parte fondamentale per lo sviluppo ottimale monitorare l'utilizzo della CPU sia a livello di processi e servizi sia a livello di utenti, poiché l'uso eccessivo del processore influenzerà le normali prestazioni del server non sviluppando ogni attività in modo naturale e con i parametri giusti.
È normale che i computer "si blocchino" poiché sono saturi di processi o azioni degli utenti, ma a volte è difficile rilevare esattamente dove si trova il problema.
CPUTool è un semplice strumento che ci permette di verificare l'utilizzo della CPU in tempo reale e quindi essere in grado di limitare e controllare l'utilizzo da parte di quei processi, servizi o utenti che hanno alti livelli di utilizzo, permettendoci di stabilizzare il comportamento del server.
Anche con questo strumento possiamo fermare un processo se supera i limiti stabiliti. Per questa analisi utilizzeremo Ubuntu 17.04 Server poiché CPUTools è compatibile per ambienti Debian e Ubuntu. CPUTool invia segnali SIGSTOP e SIGCONT a ciascun processo e questo determina il carico di ciascun processo per la rispettiva analisi.
Passo 1
Per installare CPUTool su Ubuntu 17.04 Server eseguiremo il seguente comando:
sudo apt install cputool
INGRANDIRE
Passo 2
Per verificare come funziona questo strumento eseguiremo la seguente riga che suppone un elevato consumo di CPU:
dd if = / dev / zero di = / dev / null &Possiamo utilizzare il comando top per avere un report in tempo reale dei processi Ubuntu attivi:
INGRANDIRE
Passaggio 3
Possiamo vedere che PID 2801 sta attualmente consumando il 99,3% della CPU, che è un po' alto per un singolo processo e utente ed è qui che entra in gioco CPUTools. Possiamo usare il parametro --cpu-limit o -c per limitare un determinato processo a una certa percentuale di utilizzo della CPU, ad esempio, se vogliamo che questo processo utilizzi solo il 45% della CPU, eseguiremo quanto segue:
cputool --cpu-limit 45 -p 2801Il parametro -p indica il nome del PID. Se eseguiamo nuovamente il comando top vedremo l'utilizzo della CPU che è diminuito:
INGRANDIRE
Passaggio 4
Per interrompere l'uso di top utilizzeremo i tasti Ctrl + C. Se vogliamo visualizzare e controllare un gruppo di processi dobbiamo prima sapere quali PID lo compongono, ad esempio, se vogliamo vedere i processi del server web lo faremo usa la seguente riga:
pidof apache2Il risultato sarà il seguente:
INGRANDIRE
Passaggio 5
Lì possiamo usare il parametro -P per limitare l'uso di detto gruppo di processi:
cputool --cpu-limit 15 -P 1532Per vedere tutte le opzioni che abbiamo con CPUTool possiamo usare il seguente comando:
uomo cputool
INGRANDIRE
Grazie a questo comando controlleremo con precisione ogni processo che influisce sulle prestazioni della CPU.