Une des zones critiques de la surveillance des performances de Linux doit être l’utilisation du CPU et la charge système. Il existe plusieurs outils de surveillance des performances de Linux pour surveiller comment les choses évoluent sur un système.
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 est un outil en ligne de commande simple mais puissant pour limiter et contrôler l’utilisation du CPU de n’importe quel processus à une limite donnée et permet l’interruption de l’exécution du processus si la charge système dépasse un seuil défini.
Comment fonctionne CPUTool?
Pour limiter l’utilisation du CPU, cputool envoie les signaux SIGSTOP et SIGCONT aux processus et cela est déterminé par la charge système. Il repose sur le pseudo-filesystem /proc pour lire les PID et leurs mesures d’utilisation du CPU.
Il peut être utilisé pour limiter l’utilisation du CPU ou la charge système influencée par un seul processus ou un groupe de processus à une limite donnée et/ou suspendre les processus si la charge système dépasse un seuil.
Lecture suggérée : Comprendre les moyennes de charge de Linux et surveiller les performances de Linux
Installez CPUTool pour limiter l’utilisation du CPU et la charge moyenne
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
Limitez l’utilisation du CPU des processus avec CUPTool
Maintenant, regardons comment fonctionne réellement cputool. Pour tout démontrer, nous exécuterons une commande dd qui devrait entraîner un pourcentage élevé d’utilisation du CPU en arrière-plan et afficher son PID.
# dd if=/dev/zero of=/dev/null &
Pour surveiller l’utilisation du CPU, nous pouvons utiliser les outils top ou glances qui nous permettent de visualiser en temps réel un état régulièrement mis à jour des processus en cours d’exécution sur un système Linux:
# 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 en utilisant cputool comme indiqué ci-dessous.
Le drapeau --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 CPU:
# cputool --cpu-limit 50 -p 8275
Après avoir exécuté cputool, nous pouvons vérifier la nouvelle utilisation du CPU pour le processus (PID 8275) une fois de plus. Maintenant, l’utilisation du CPU pour le processus dd devrait varier entre (49.0%-52.0%).
# top

Pour limiter davantage l’utilisation du CPU de dd à 20%, nous pouvons exécuter cputool une deuxième fois:
# cputool --cpu-limit 20 -p 8275
Ensuite, vérifiez immédiatement à l’aide d’outils tels que top ou glances comme ceci (l’utilisation du CPU pour dd devrait maintenant osciller entre 19,0 % et 22,0 % ou légèrement au-delà de cela) :
# top

Notez que le shell n’attend aucune entrée utilisateur pendant que cputool s’exécute ; il devient donc non réactif. Pour le terminer (ce qui mettra fin à l’opération de limitation de l’utilisation du CPU), appuyez sur Ctrl + C
.
De manière importante, 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 le drapeau -P
comme ceci :
# cputool --cpu-limit 20 -P 1780
Limite de la charge système avec CUPTool
L’option -l
est utilisée pour spécifier la charge maximale que le système peut supporter pour que le processus ou le groupe de processus continue de 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 système n’excède pas 3,5 :
# cputool --load-limit 3.5 --rsync -av /home/tecmint /backup/`date +%Y-%m-%d`/
Pour plus d’informations et d’utilisation, consultez la page de manuel de CPUTool :
# man cputool
N’oubliez pas de consulter les guides utiles suivants pour trouver des informations sur le CPU et surveiller les performances du CPU :
- 9 Commandes utiles pour obtenir des informations sur le CPU sous Linux
- Cpustat – Surveille l’utilisation du CPU par les processus en cours d’exécution sous Linux
- CoreFreq – Un outil puissant de surveillance du CPU pour les systèmes Linux
- Trouver les processus en cours d’exécution les plus gourmands en mémoire et en CPU sous Linux
En conclusion, CPUTool est vraiment pratique pour la gestion des performances sous Linux. N’hésitez pas à partager vos réflexions sur cet article via le formulaire de feedback ci-dessous.
Source:
https://www.tecmint.com/cputool-limit-linux-process-cpu-usage-load/