Ricerca nel sito web

CPUTool: limita e controlla l'utilizzo della CPU di qualsiasi processo in Linux


Una delle aree critiche nel monitoraggio delle prestazioni di Linux deve essere l'utilizzo della CPU e il carico del sistema. Esistono diversi strumenti di monitoraggio delle prestazioni di Linux per tenere d'occhio come si stanno svolgendo le cose su un sistema.

Alcuni di questi strumenti generano semplicemente lo stato/le statistiche del sistema, mentre alcuni altri forniscono i mezzi per gestire le prestazioni del sistema. Uno di questi strumenti si chiama CPUTool.

CPUTool è uno strumento da riga di comando semplice ma potente per limitare e controllare l'utilizzo della CPU di qualsiasi processo a un determinato limite e consente l'interruzione dell'esecuzione del processo se il carico del sistema supera una soglia definita.

Come funziona CPUTool?

Per limitare l'utilizzo della CPU, cputool invia i segnali SIGSTOP e SIGCONT ai processi e questo è determinato dal carico del sistema. Si basa sullo pseudo-filesystem /proc per leggere i PID e le relative misure di utilizzo della CPU.

Può essere utilizzato per limitare l'utilizzo della CPU o il carico del sistema influenzato da un singolo processo o da un gruppo di processi a un determinato limite e/o sospendere i processi se il carico del sistema supera una soglia.

Lettura consigliata: comprendere le medie di carico di Linux e monitorare le prestazioni di Linux

Installa CPUTool per limitare l'utilizzo della CPU e il carico medio

Un CPUTool è disponibile solo per l'installazione su Debian/Ubuntu e sui suoi derivati dai repository di sistema predefiniti utilizzando lo strumento di gestione dei pacchetti.

sudo apt install cputool

Limitazione dell'utilizzo della CPU del processo con CUPTool

Ora diamo un'occhiata a come funziona realmente cputool. Per dimostrare tutto, eseguiremo un comando dd che dovrebbe comportare un'elevata percentuale di CPU, in background e visualizzare il suo PID.

dd if=/dev/zero of=/dev/null &

Per monitorare l'utilizzo della CPU possiamo utilizzare gli strumenti top o views che ci consentono di visualizzare uno stato regolarmente aggiornato in tempo reale dei processi di un sistema Linux in esecuzione:

top

Dall'output sopra, possiamo vedere che il comando dd ha la percentuale più alta di tempo della CPU 99,7%) Ora possiamo limitare questo utilizzando cputool come mostrato di seguito.

Il flag --cpu-limit o -c viene utilizzato per impostare una percentuale di utilizzo per un processo o un gruppo di processi e -p per specificare un PID. Il seguente comando limiterà il comando dd (PID 8275) al 50% di utilizzo di un core della CPU:

cputool --cpu-limit 50 -p 8275 

Dopo aver eseguito cputool, possiamo controllare ancora una volta il nuovo utilizzo della CPU per il processo (PID 8275). Ora l'utilizzo della CPU per il processo dd dovrebbe essere compreso tra (49,0%-52,0%).

top

Per limitare ulteriormente l'utilizzo della CPU di dd al 20%, possiamo eseguire cputool una seconda volta:

cputool --cpu-limit 20 -p 8275 

Quindi controlla immediatamente utilizzando strumenti come top o sguardi come questo (l'utilizzo della CPU per dd ora dovrebbe variare da 19,0%-22,0% o leggermente oltre):

top

Tieni presente che la shell non si aspetta alcun input dall'utente mentre cputool è in esecuzione; quindi non risponde. Per terminarlo (questo terminerà l'operazione di limitazione dell'utilizzo della CPU), premi Ctrl + C.

È importante sottolineare che per specificare un gruppo di processi (un programma con diverse istanze in esecuzione ciascuna con un PID distinto) ad esempio il server Web HTTP:

pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Utilizza il flag -P in questo modo:

cputool --cpu-limit 20 -P 1780

Limitazione del carico del sistema con CUPTool

L'opzione -l viene utilizzata per specificare il carico massimo che il sistema può sopportare affinché il processo o il gruppo di processi continui a funzionare. Potremmo utilizzare un valore frazionario (ad esempio 2,5).

L'esempio seguente indica di eseguire rsync per un backup locale solo quando il carico del sistema non supera 3,5:

cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/

Per ulteriori informazioni e utilizzo, visualizzare la pagina man CPUTool:

man cputool

Dai un'occhiata alle seguenti guide utili per trovare informazioni sulla CPU e monitorare le prestazioni della CPU:

  1. 9 comandi utili per ottenere informazioni sulla CPU su Linux
  2. Cpustat: monitora l'utilizzo della CPU eseguendo processi in Linux
  3. CoreFreq: un potente strumento di monitoraggio della CPU per sistemi Linux
  4. Trova i principali processi in esecuzione in base al maggiore utilizzo di memoria e CPU in Linux

In conclusione, CPUTool è davvero utile per la gestione delle prestazioni di Linux. Condividi le tue opinioni su questo articolo tramite il modulo di feedback qui sotto.