CPUTool - Limitez et contrôlez l’utilisation du processeur de n’importe quel processus sous Linux
L’utilisation du processeur et la charge du système doivent être l’un des domaines critiques de la surveillance des performances de Linux. Il existe plusieurs outils de surveillance des performances Linux pour garder un œil sur le déroulement d’un système.
Un certain nombre de ces outils génèrent simplement l’état/les statistiques du système, tandis que quelques autres vous fournissent des moyens de gérer les performances du système. L’un de ces outils appelé CPUTool.
CPUTool est un outil de ligne de commande simple mais puissant permettant de limiter et de contrôler l’utilisation du processeur de n’importe quel processus jusqu’à une limite donnée et permet l’interruption de l’exécution du processus si la charge du système dépasse un seuil défini.
Comment fonctionne CPUTool ?
Afin de limiter l’utilisation du processeur, cputool envoie les signaux SIGSTOP et SIGCONT aux processus, ce qui est déterminé par la charge du système. Il s’appuie sur le pseudo-système de fichiers /proc pour lire les PID et leurs mesures d’utilisation du processeur.
Il peut être utilisé pour limiter l’utilisation du processeur ou la charge système influencée par un seul processus ou un groupe de processus à une limite donnée et/ou suspendre des processus si la charge du système dépasse un seuil.
Suggéré pour lire : Comprendre les moyennes de charge Linux et surveiller les performances de Linux
Installez CPUTool pour limiter l’utilisation du processeur et la charge moyenne
Un CPUTool n’est disponible que pour l’installation sur Debian/Ubuntu et ses dérivés à partir des dépôts système par défaut à l’aide de l’outil de gestion de paquets.
$ sudo apt install cputool
Limitation de l’utilisation du processeur de processus avec CUPTool
Voyons maintenant comment fonctionne réellement cputool. Pour démontrer tout cela, nous allons exécuter une commande dd qui devrait se traduire par un pourcentage de CPU élevé, en arrière-plan et afficher son PID.
# dd if=/dev/zero of=/dev/null &
Pour surveiller l’utilisation du processeur, nous pouvons utiliser les outils top ou glances qui nous permettent de visualiser en temps réel et régulièrement mis à jour l’état d’un système Linux en cours d’exécution :
# top
D’après la sortie ci-dessus, nous pouvons voir que la commande dd a le pourcentage le plus élevé de temps CPU 99,7 %) Maintenant, nous pouvons limiter cela à l’aide de cputool comme indiqué ci-dessous.
L’indicateur --cpu-limit ou -c est utilisé pour définir un pourcentage d’utilisation pour un processus ou un groupe de processus et -p pour spécifier un PID. La commande suivante limitera la commande dd (PID 8275) à 50 % de l’utilisation d’un cœur de processeur :
# cputool --cpu-limit 50 -p 8275
Après avoir exécuté cputool, nous pouvons vérifier une fois de plus l’utilisation du nouveau processeur pour le processus (PID 8275). Maintenant, l’utilisation du processeur pour le processus dd doit être comprise entre (49,0 % et 52,0 %).
# top
Pour limiter davantage l’utilisation du processeur de dd à 20 %, nous pouvons exécuter cputool une deuxième fois :
# cputool --cpu-limit 20 -p 8275
Vérifiez ensuite immédiatement à l’aide d’outils tels que top ou des coups d’œil comme celui-ci (l’utilisation du processeur pour dd doit maintenant se situer entre 19,0 % et 22,0 % ou légèrement au-delà) :
# top
Notez que le shell n’attend aucune entrée de l’utilisateur pendant l’exécution de cputool ; devient donc insensible. Pour le tuer (cela mettra fin à l’opération de limitation de l’utilisation du processeur), appuyez sur Ctrl + C.
Il est important de noter que pour spécifier un groupe de processus (un programme avec plusieurs instances en cours d’exécution, chacune avec un PID distinct), par exemple un serveur Web HTTP :
# pidof apache2
9592 3643 3642 3641 3640 3638 3637 1780
Utilisez l’indicateur -P comme ceci :
# cputool --cpu-limit 20 -P 1780
Limitation de la charge du système avec CUPTool
L’option -l permet de spécifier la charge maximale que le système peut supporter pour que le processus ou le groupe de processus continue à s’exécuter. Nous pouvons utiliser une valeur fractionnaire (par exemple 2,5).
L’exemple ci-dessous signifie exécuter rsync pour une sauvegarde locale uniquement lorsque la charge du système ne dépasse pas 3,5 :
# cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/
Pour plus d’informations et pour plus d’informations, consultez la page de manuel CPUTool :
# man cputool
Consultez les guides utiles suivants pour trouver des informations sur le processeur et surveiller les performances du processeur :
- 9 commandes utiles pour obtenir des informations sur le processeur sous Linux
- cpustat – surveille l’utilisation du processeur en exécutant des processus sous Linux
- CoreFreq – Un puissant outil de surveillance du processeur pour les systèmes Linux
- Trouvez les processus les plus en cours d’exécution en fonction de l’utilisation la plus élevée de la mémoire et du processeur sous Linux
En conclusion, CPUTool est vraiment utile pour la gestion des performances de Linux. Partagez vos réflexions sur cet article via le formulaire de commentaires ci-dessous.


