CPUTool – Limitare e controllare l’utilizzo della CPU di qualsiasi processo in Linux

Il monitoraggio delle prestazioni di Linux deve necessariamente includere il monitoraggio dell’utilizzo della CPU e del carico di sistema. Esistono diversi strumenti di monitoraggio delle prestazioni di Linux per tenere sotto controllo ciò che accade all’interno di un sistema.

A number of these tools simply output the system state/statistics while a few others provide you means of managing system performance. One such tool called CPUTool.

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

Come funziona CPUTool?

Per limitare l’utilizzo della CPU, cputool invia i segnali SIGSTOP e SIGCONT ai processi, in base al carico di sistema. Si affida al file system pseudo /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 di sistema influenzato da un singolo processo o da un gruppo di processi entro un determinato limite e/o per sospendere i processi se il carico di sistema supera una certa soglia.

Approfondisci: Comprendi le medie di carico di Linux e monitora le prestazioni di Linux

Installare CPUTool per Limitare l’Utilizzo della CPU e il Carico Medio

A CPUTool is only available to install on Debian/Ubuntu and its derivatives from the default system repositories using package management tool.

$ sudo apt install cputool

Limitare l’Utilizzo della CPU del Processo con CUPTool

Ora vediamo come funziona davvero cputool. Per dimostrarlo tutto, eseguiremo un comando dd che dovrebbe risultare in un alto percentuale di utilizzo della 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 glances che ci consentono di visualizzare uno stato in tempo reale regolarmente aggiornato dei processi in esecuzione di un sistema Linux:

# top
Monitor dd Command CPU Usage

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

Il flag --cpu-limit o -c è 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% dell’uso di un core CPU:

# cputool --cpu-limit 50 -p 8275 

Dopo aver eseguito cputool, possiamo controllare nuovamente il nuovo utilizzo della CPU per il processo (PID 8275). Ora l’utilizzo della CPU per il processo dd dovrebbe variare tra (49,0%-52,0%).

# top
Limit Process CPU to 50% Usage

Per limitare ulteriormente l’utilizzo della CPU di dd al 20%, possiamo eseguire cputool per la seconda volta:

# cputool --cpu-limit 20 -p 8275 

Quindi controlla immediatamente utilizzando strumenti come top o glances in questo modo (l’utilizzo della CPU per dd dovrebbe ora variare tra 19.0%-22.0% o leggermente oltre questo):

# top
Limit Process CPU Usage to 20%

Nota che la shell non si aspetta alcun input dell’utente durante l’esecuzione di cputool; diventa quindi non responsiva. Per interromperla (questo terminerà l’operazione di limitazione dell’utilizzo della CPU), premi Ctrl + C.

In modo importante, per specificare un gruppo di processi (un programma con diverse istanze in esecuzione ciascuna con un PID distinto) ad esempio un server web HTTP:

# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780

Usa il flag -P in questo modo:

# cputool --cpu-limit 20 -P 1780

Limitare il Carico di Sistema con CUPTool

L’opzione -l viene utilizzata per specificare il carico massimo che il sistema può sopportare affinché il processo o gruppo di processi continuino a funzionare. Possiamo utilizzare un valore frazionario (ad esempio 2.5).

L’esempio seguente significa 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 sull’utilizzo, consulta la pagina man di 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 da Parte dei Processi in Esecuzione in Linux
  3. CoreFreq – Un Potente Strumento di Monitoraggio della CPU per Sistemi Linux
  4. Trova i Processi in Esecuzione Principali per Utilizzo Elevato di Memoria e CPU in Linux

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

Source:
https://www.tecmint.com/cputool-limit-linux-process-cpu-usage-load/