6 mesures de performances clés à surveiller dans les serveurs Linux
Cette série en 4 parties expliquera six mesures de performances clés à surveiller dans un serveur Linux. À la fin de cette série, vous comprendrez quels facteurs d'un système Linux vous devez rechercher et qui contribuent aux performances globales du système, ainsi que leur importance relative.
Votre serveur Linux est-il lent ou les applications hébergées sur celui-ci présentent-elles un comportement inattendu ou des signes de ralentissement des performances ? De nombreux facteurs dans un serveur Linux affectent ses performances globales ou les performances des applications hébergées sur celui-ci.
Mais il y a quelques mesures clés que vous devez suivre et qui peuvent avoir un impact sur les éléments les plus critiques tels que le temps de réponse ou le temps d'exécution des processus, le débit - la quantité totale de travail que le serveur peut effectuer en un temps donné, et bien plus encore.
Examinons les deux premières mesures de performance clés de cette première partie de la série.
1. Utilisation du processeur Linux
En tant que cerveau du système, un processeur fonctionnant correctement est un élément essentiel de votre serveur Linux ou de tout ordinateur. Par conséquent, l'utilisation du CPU est l'un des aspects essentiels à suivre dans un serveur Linux, qui est utilisé pour évaluer les performances du système en termes de débit.
Il existe plusieurs outils d'interface utilisateur graphiques et basés sur la ligne de commande pour surveiller l'utilisation du CPU sur un système Linux tel que htop, et plus encore.
Glances – Outil de surveillance Linux
Glances est un utilitaire de surveillance en temps réel open source qui surveille plusieurs aspects de votre système Linux, tels que l'utilisation du processeur, de la mémoire, du disque et du réseau.
Pour installer glances sur votre distribution Linux, exécutez :
$ sudo apt install glances [On Debian, Ubuntu and Mint] $ sudo yum install glances [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-process/glances [On Gentoo Linux] $ sudo apk add glances [On Alpine Linux] $ sudo pacman -S glances [On Arch Linux] $ sudo zypper install glances [On OpenSUSE]
Ce qui suit est une capture d'écran d'une section de l'outil de surveillance glances sur un serveur Debian Linux affichant les statistiques d'utilisation du processeur.
# glances

Ici, l'utilisation globale du processeur est de 29,5 %, et davantage de temps processeur est utilisé par les processus ou les applications de l'espace utilisateur. Il affiche le nombre total de tâches (156), le nombre de tâches en cours d'exécution (7), le nombre de tâches en mode veille (81) et autres. Il affiche également une liste des processus par consommation de CPU par défaut.
Haut - Surveiller les processus Linux
La commande top fournit une vue dynamique en temps réel de tous les processus en cours d'exécution dans le système Linux, ainsi que l'utilisation du processeur et de la mémoire.
# top

htop – Visualiseur de processus Linux
htop est un visualiseur de processus système Linux interactif et un gestionnaire de processus qui affiche les informations sur tous les processus en cours d'exécution en fonction de l'utilisation du processeur et de la mémoire sur un système.
Pour installer htop sur votre distribution Linux, exécutez :
$ sudo apt install htop [On Debian, Ubuntu and Mint] $ sudo yum install htop [On RHEL/CentOS/Fedora and Rocky/AlmaLinux] $ sudo emerge -a sys-process/htop [On Gentoo Linux] $ sudo apk add htop [On Alpine Linux] $ sudo pacman -S htop [On Arch Linux] $ sudo zypper install htop [On OpenSUSE]
Voici une capture d'écran d'un outil de surveillance htop, qui affiche une liste des processus en cours d'exécution par utilisation du processeur.
# htop

Sur la base des chiffres que vous avez vus dans les captures d'écran précédentes, la métrique d'utilisation du CPU est divisée en trois catégories ou états principaux :
- utilisateur : indique le pourcentage de temps CPU utilisé par les processus de l'espace utilisateur.
- système : affiche le pourcentage de temps CPU utilisé par le noyau.
- inactif : affiche le pourcentage de temps CPU qui n'est pas activement utilisé.
De plus, il existe également les sous-états CPU suivants :
- nice - est un sous-ensemble de l'état utilisateur qui indique le pourcentage de temps CPU occupé par les processus au niveau de l'utilisateur avec une valeur nice positive (priorité de planification inférieure à celle des autres processus).
- irq ou hi : affiche le pourcentage de temps CPU passé à traiter les interruptions matérielles.
- softirq ou si : affiche le pourcentage de temps CPU passé à traiter les interruptions logicielles.
- iowait ou wa - un sous-ensemble de l'état d'inactivité qui indique le pourcentage de temps CPU passé à attendre les opérations d'E/S telles que la lecture et l'écriture sur ou depuis le disque .
- voler : indique le pourcentage de temps CPU pris par un CPU virtuel dans un hyperviseur pour attendre involontairement un CPU physique pour le temps de traitement.
Surveiller l'utilisation du cœur du processeur Linux
Si votre serveur dispose de plusieurs processeurs (parfois appelés système multicœur), vous pouvez également surveiller l'utilisation de chaque cœur. Dans coups d'œil, appuyez simplement sur 1
pour avoir une vue comme celle montrée dans la capture d'écran suivante.

Vous pouvez également exécuter la commande suivante pour connaître le nombre total de processeurs de votre serveur :
# cat /proc/cpuinfo | grep ^processor
Pour rechercher les principaux processus en cours d'exécution par utilisation du processeur, exécutez la commande ps suivante :
# ps -eo pid,ppid,cmd,%mem,%cpu --sort=-%cpu | head

Vous pourriez également aimer :
- Cpustat – Surveille l'utilisation du processeur en exécutant des processus sous Linux
- Comment tuer le processus Linux en utilisant Kill, Pkill et Killall
- Comment limiter le temps et l'utilisation de la mémoire des processus sous Linux
- 9 commandes utiles pour obtenir des informations sur le processeur sous Linux
2. Surveiller la charge du processeur du système Linux
La charge CPU est le nombre de processus/threads qui utilisent ou souhaitent utiliser le temps CPU. Sous Linux, il ne s'agit pas seulement de tâches exécutables (non bloquées par quoi que ce soit, prêtes à s'exécuter sur le CPU ou en attente dans la file d'attente d'exécution), mais également de tâches en état de veille ininterrompue, par exemple un processus en attente d'une opération d'E/S pour terminer ou d'autres choses.
Ce n'est pas la même chose que l'utilisation du processeur que nous avons couverte ci-dessus. La charge moyenne est la charge moyenne du système sur un certain temps, généralement une, cinq et quinze minutes sous Linux. Votre système est inactif si les charges moyennes sont de 0,0.
Si vous avez un serveur multicœur avec 12 cœurs et une charge moyenne de 8,32 comme indiqué dans la capture d'écran suivante, cela signifie que le processeur fonctionne sous sa capacité et qu'il peut prendre plus de charge. Dans le cas où la charge moyenne est de 12, cela implique la pleine capacité.
# glances

D'autre part, une charge moyenne supérieure au nombre total de cœurs de processeur indique que les processus sont en file d'attente - la charge augmente. La capture d'écran suivante montre un système qui n'est pas sain, il est surchargé.

N'oubliez pas que si la moyenne sur 1 minute est supérieure à la moyenne sur 5 ou 15 minutes, comme c'est le cas dans l'exemple précédent (68,24, 27,55, 12,11), c'est un indicateur que la charge du processeur augmente. Mais si la moyenne sur 1 minute est inférieure à la moyenne sur 5 ou 15 minutes, la charge diminue.
Vous pouvez également utiliser la commande uptime ou w pour afficher les moyennes de charge. Dans cet exemple, la charge augmente.
# uptime OR # w

Causes de l'utilisation élevée du processeur ou de la charge du processeur
Certaines des causes les plus courantes d'un processeur élevé ou extrêmement élevé incluent l'exécution de plusieurs applications/services gourmands en ressources processeur sur le même serveur (avec de faibles spécifications de ressources) et les logiciels malveillants conçus pour se répliquer encore et encore pour épuiser les ressources système. Les applications de streaming et de jeu peuvent également entraîner une utilisation et une charge CPU extrêmement élevées lorsque le trafic est élevé.
De plus, les attaques DoS ou DDoS peuvent déclencher un nombre absurdement élevé de connexions et de requêtes vers des applications hébergées nécessitant des calculs complexes supplémentaires par le CPU. Des bogues ou du code non optimisé dans les applications peuvent parfois entraîner des boucles infinies qui peuvent épuiser le temps CPU disponible.
Remarque : Il est possible d'avoir un faible pourcentage d'utilisation du processeur tout en ayant une charge système ou CPU très élevée. Une telle situation peut être causée par la présence de nombreux threads dans un état de veille ininterrompu et par une demande normale du processeur.
Vous pourriez également aimer :
- Conseils de sécurité de base pour protéger le système Linux
- Comment améliorer la sécurité du système Linux
- 5 bonnes pratiques pour empêcher les attaques de connexion SSH Brute-Force sous Linux
- 7 fonctionnalités et outils de sécurité Linux utiles pour les débutants
Effets de l'utilisation élevée du processeur ou de la charge du processeur
Si votre système est surchargé, les applications gourmandes en CPU peuvent se bloquer ou se bloquer, d'autres applications en cours d'exécution peuvent devenir lentes et éventuellement cesser de répondre aux entrées de l'utilisateur ; les tâches automatisées telles que les sauvegardes et les alertes système peuvent échouer et les applications peuvent s'ouvrir à la vitesse d'un escargot ou ne pas s'ouvrir du tout, et bien plus encore.
Minimiser l'utilisation élevée du processeur et la surcharge du processeur
Voici quelques façons de gérer l'utilisation élevée du processeur ou la charge système sur les serveurs Linux :
- Ajoutez rapidement plus de processeurs, en particulier dans les environnements virtuels.
- Redémarrez les applications gourmandes en ressources processeur si nécessaire.
- Arrêtez/désactivez les services/applications inutilisés.
- Vérifiez les bogues ou le code non optimisé dans les applications utilisateur qui peuvent entraîner des boucles infinies.
- Limitez le nombre de connexions ou de requêtes autorisées dans les serveurs Web, les serveurs d'applications et les systèmes de base de données pour atténuer les attaques DoS ou DDoS.
- Redémarrez le serveur si nécessaire s'il commence à se bloquer.
- Utilisez des scripts ou des applications de surveillance pour configurer des alertes système qui se déclenchent lorsque l'utilisation du processeur est anormalement élevée.
C'est tout pour le moment. Dans la prochaine partie de cette série, nous expliquerons comment surveiller l'utilisation de la mémoire sur un serveur Linux. Jusque-là, restez avec nous.