Comment et pourquoi surveiller l’utilisation du processeur du serveur

Lorsque j’utilise une application, je veux qu’elle soit rapide. Les applications rapides me rendent heureux. Et je suis sûr que c’est la même chose avec tout le monde. Si vous possédez une application qui fonctionne avec Internet, il est essentiel de se concentrer sur les performances du serveur. Il y a beaucoup de choses à prendre en charge pour avoir un serveur performant. Mais pour améliorer quelque chose, vous devez savoir où il en est en premier lieu. Par conséquent, la surveillance de votre serveur est la première étape pour augmenter les performances de votre serveur.

Lorsque l’on parle de ce qu’il faut surveiller pour comprendre les performances d’un serveur, de nombreuses métriques peuvent apparaître. Nous allons nous concentrer sur un seul dans cet article: l’utilisation du processeur du serveur. Nous commencerons par expliquer ce qu’est l’utilisation du processeur du serveur, puis nous discuterons pourquoi et comment le surveiller.

 CPU en couleurs Scalyr signifiant moniteur d'utilisation du processeur du serveur

Que Signifie L’Utilisation Du Processeur Du Serveur ?

Tout ce qui se passe sur le serveur est une tâche pour le système. Cette tâche se décompose en processus exécutés par le serveur. Les processus peuvent être de différentes complexités et diffèrent par leur rapidité d’exécution. Et sur cette base, le processeur prend un certain temps pour exécuter le processus. En d’autres termes, le processeur est utilisé pour exécuter le processus. L’utilisation du PROCESSEUR est le pourcentage de temps pendant lequel le PROCESSEUR est utilisé pour accomplir ses tâches.

 moniteur d'utilisation du processeur du serveur

Lorsque votre système est opérationnel, un processeur peut être dans trois états : inactif, occupé ou en attente d’E/S.

Inactif

Lorsque le processeur est à l’état inactif, le PROCESSEUR ne fait rien. Il attend juste qu’une tâche lui soit assignée. Il est très peu probable de voir un processeur en état d’inactivité si vous avez un système à processeur unique. Même si vous n’exécutez aucune application ou ne faites rien, le processeur serait utilisé pour exécuter des tâches du système d’exploitation. Mais si votre système dispose de plusieurs processeurs, vous pouvez en voir un ou certains inactifs. Cela pourrait être dû au fait qu’un seul ou quelques processeurs sont utilisés et que les autres n’ont rien à faire.

Occupé

L’opposé de l’état inactif est l’état occupé, c’est-à-dire lorsque le processeur est utilisé pour exécuter un processus. Un processeur est responsable de différents types de tâches. Pendant le processus d’exécution des tâches, un processeur fait quatre choses:

  1. Récupérer: Les instructions pour terminer la tâche sont stockées dans la mémoire. Le PROCESSEUR doit obtenir ces instructions de la mémoire pour comprendre quoi faire.
  2. Décodage: Les instructions pour le processeur peuvent être dans différents formats, comme un programme. Par exemple, disons que vous avez écrit un programme en C, Java ou Python. Les PROCESSEURS ne peuvent pas comprendre directement ces langages de codage. Il doit le décoder sous une forme qu’il peut comprendre.
  3. Exécuter: C’est à ce moment que le processeur effectue réellement la tâche.
  4. Stockage: Une fois que le PROCESSEUR a terminé la tâche, il doit donner des commentaires sur la tâche. Les résultats après l’exécution de la tâche sont stockés dans la mémoire.

Opérations d’E / S

C’est l’état où le PROCESSEUR n’est pas complètement inactif mais n’est pas occupé non plus. Lors de l’exécution d’un processus, un processeur peut devoir envoyer des données à un autre composant ou processus. Ou le processeur peut devoir attendre pour obtenir des données d’un autre processus ou composant. Dans ce cas, il attend que l’opération d’E / S soit terminée pour pouvoir reprendre l’exécution de sa tâche.

L’utilisation du PROCESSEUR est la mesure du PROCESSEUR lorsqu’il est dans un état non inactif. Bien que l’utilisation du processeur soit mesurée en pourcentage, vous pouvez voir que les valeurs d’utilisation du PROCESSEUR sont supérieures à 100%. Cela ne signifie pas que le processeur est surchargé. Par exemple, l’utilisation du processeur serait supérieure à 100 % dans les systèmes multiprocesseurs. La valeur de l’utilisation du processeur pour un système est la somme du pourcentage d’utilisation du PROCESSEUR des PROCESSEURS individuels. Donc, si vous avez deux processeurs et que l’un d’eux a une utilisation du PROCESSEUR de 60% et l’autre a une utilisation du PROCESSEUR de 50%, la valeur totale d’utilisation du PROCESSEUR serait de 110%.

Qu’Est-Ce Qui Cause Une Utilisation Élevée Du Processeur?

Trouver le cœur du problème vous aide à mettre en œuvre de meilleures solutions pour une utilisation élevée du processeur. Il peut y avoir différentes raisons pour l’utilisation du processeur en fonction des cas d’utilisation. J’énumère les causes les plus courantes.

Processus Nécessitant un processeur Élevé

Certains programmes nécessitent des ressources CPU élevées. Si vous avez un système à faible spécification et que vous essayez d’exécuter un jeu vidéo haut de gamme, l’utilisation du processeur passera évidemment par le toit. De même, il peut y avoir différents processus qui nécessitent des ressources CPU élevées pour fonctionner. De tels processus ou un certain nombre de processus qui, en tant que sous-total, utilisent un processeur élevé peuvent en être l’une des causes. Sur les serveurs, exécution de plusieurs services pour maintenir le serveur en marche, simulations, etc., peut entraîner une utilisation élevée du processeur.

Processus d’arrière-plan

Les processus peuvent être principalement divisés en 2 catégories: processus système et processus d’application. Les processus système sont les processus nécessaires pour que votre système continue de fonctionner. Les processus d’application sont les processus que vous utiliseriez dans un but spécifique. Lorsque ces processus continuent à s’exécuter en arrière-plan, ils consomment les ressources du processeur.

De nombreux processus d’application continuent de s’exécuter en arrière-plan même après la fermeture de la fenêtre d’application. Cela est moins susceptible de se produire sur un serveur car un serveur est généralement maintenu et nettoyé périodiquement pour n’avoir que les processus dont il a besoin, mais c’est toujours possible.

Logiciels malveillants

Les logiciels malveillants (Logiciels malveillants) sont des programmes utilisés par des acteurs malveillants pour attaquer votre système ou pour effectuer des actions illégitimes sur votre système. Initialement, les logiciels malveillants n’utilisent pas de ressources CPU élevées pour rester cachés, mais lorsqu’ils commencent à effectuer des actions malveillantes, ils entraînent une utilisation élevée du PROCESSEUR. J’ai été témoin de cet incident où un logiciel malveillant avait été induit sur un serveur une semaine auparavant et un jour, il a commencé à transférer toutes les données sensibles du serveur vers le stockage en nuage. Ainsi, ce logiciel malveillant n’utilisait pas beaucoup de ressources CPU pendant qu’il configurait des choses et trouvait des données critiques. Mais une fois qu’il a trouvé tout ce dont il avait besoin, il y a eu un énorme pic d’utilisation du processeur en raison du transfert de données.

Code non optimisé

Il est courant que du code personnalisé s’exécute sur des serveurs pour des tâches spécifiques. Si ces codes ne sont pas optimisés, ils pourraient finir par utiliser beaucoup de ressources CPU. Les boucles non optimisées et la récursivité sont parmi les causes les plus courantes d’une utilisation élevée du processeur en raison du code non optimisé.

Correctifs courants Pour une utilisation élevée du PROCESSEUR

Sur la base des causes communes précédemment abordées, examinons quelques-uns des correctifs courants pour une utilisation élevée du processeur.

Redémarrer

Un redémarrage du système est une solution à la plupart des problèmes informatiques. Comment cela aiderait-il à réduire l’utilisation du processeur? Un redémarrage fermerait tous les processus d’arrière-plan qui auraient pu démarrer en raison d’une action, mais vous n’en avez plus besoin. Cela mettrait également fin aux processus zombies ou à d’autres processus qui s’exécutent indéfiniment en raison d’un dysfonctionnement. Ainsi, le redémarrage de votre système nettoierait tous (au moins la plupart) les processus inutiles et réduirait l’utilisation du processeur.

Terminez les processus en arrière-plan

Le redémarrage du système peut ne pas être réalisable, en particulier pour les serveurs. Vous devrez donc gérer des processus inutiles sans redémarrer le système. Pour ce faire, vous pouvez lister tous les processus en cours d’exécution, identifier les processus inutiles et les terminer. Voici à quoi cela ressemblerait dans le gestionnaire des tâches Windows:

 moniteur d'utilisation du processeur du serveur

Une autre solution consiste à gérer les processus de démarrage. Certains processus sont configurés pour démarrer dès le démarrage de votre système. Certains d’entre eux sont nécessaires et d’autres non. Vous pouvez identifier ces processus et les désactiver du démarrage automatique. Sous Windows, vous pouvez les trouver sous l’onglet « Démarrage » dans le gestionnaire des tâches:

 moniteur d'utilisation du processeur du serveur

Anti-Malware

Les logiciels malveillants sont dangereux. Pas seulement en termes d’utilisation du processeur, mais en général aussi. Certains logiciels malveillants entraînent une utilisation élevée du processeur et l’utilisation d’anti-malware pourrait être votre meilleure défense contre ces logiciels malveillants. Les logiciels anti-malware modernes sont intelligents et avancés. Ils peuvent non seulement identifier les logiciels malveillants dans votre système et les supprimer ou les mettre en quarantaine, mais ils peuvent également empêcher les logiciels malveillants d’arriver sur votre système. Ainsi, en utilisant l’anti-malware, vous corrigerez non seulement l’utilisation élevée du processeur, mais vous empêcherez également une utilisation élevée du processeur due aux logiciels malveillants.

Optimisation du code

Si vous identifiez que la raison de l’utilisation élevée du PROCESSEUR est due à un code non optimisé, vous devez l’optimiser. Vous devrez analyser le code et découvrir quelle partie du code consomme des ressources CPU et l’optimiser.

Mise à niveau du processeur

Si vous avez résolu tous les autres problèmes et optimisé tout et que vous constatez toujours une utilisation élevée du processeur, cela signifie que vos besoins en CPU sont élevés. Dans de tels cas, il n’y a pas d’autre option que de mettre à niveau vos ressources CPU.

Pourquoi Devriez-Vous Surveiller L’Utilisation Du Processeur Du Serveur ?

Un serveur peut avoir deux types de tâches à effectuer à un niveau élevé : une tâche de l’utilisateur et une tâche au sein du système. Une tâche de l’utilisateur est lorsqu’un utilisateur a demandé un service ou des données au serveur. Disons que vous allez sur YouTube et recherchez quelque chose. Le serveur de YouTube doit récupérer toutes les vidéos pertinentes pour votre recherche et les envoyer en réponse à votre demande. Cette transaction de données utilise le temps CPU.

Un serveur a d’autres tâches que de simplement répondre aux utilisateurs. Il va sans dire que son processeur est utilisé pour exécuter le système d’exploitation et les services Web. Mais en dehors de cela, les serveurs peuvent être utilisés pour exécuter certains scripts pour traiter les données. Un exemple courant est l’exécution de playbooks Ansible. Ces playbooks peuvent exécuter des tâches même sans que l’utilisateur ait à intervenir.

Gestion des ressources et des tâches

Si votre utilisation du processeur est faible, vous gaspillez vos ressources. Et si votre utilisation du processeur est très élevée, le système ralentit et peut commencer à être à la traîne. Vous ne voulez pas que cela se produise, c’est pourquoi il est important de surveiller l’utilisation du processeur du serveur. La surveillance de l’utilisation du processeur du serveur vous aide à comprendre combien votre PROCESSEUR est utilisé. Cela vous aidera à décider si vous pouvez faire en sorte que votre processeur fasse plus de travaux ou augmenter vos ressources pour répondre à la nécessité.

L’optimisation des programmes

La surveillance de l’utilisation du processeur du serveur a été très avantageuse pour gérer les ressources ainsi que pour optimiser les tâches. Il y a eu des cas où les programmes prennent plus de temps que ce qu’ils devraient idéalement prendre. Lorsque vous voyez que l’utilisation du processeur est plus élevée même lors de l’exécution d’un programme court et simple, vous savez qu’il y a quelque chose qui ne va pas avec votre programme. Souvent, les programmes ne sont pas efficaces en raison de mauvaises pratiques de programmation. La surveillance de l’utilisation du PROCESSEUR peut vous aider à trouver de telles instances et à optimiser le code. Par conséquent, surveiller l’utilisation du processeur revient à frapper deux oiseaux avec une seule pierre.

Maintenant que nous en avons fini avec le « quoi » et le « pourquoi » de l’utilisation du processeur et que nous avons appris à quel point l’utilisation du PROCESSEUR du serveur de surveillance peut être bénéfique, passons à la partie « comment ».

Comment surveiller l’utilisation du processeur du serveur

L’utilisation du processeur n’est pas quelque chose comme de l’argent que vous pouvez économiser sur une période de temps, puis l’utiliser quand vous le souhaitez. Le processeur inutilisé est une ressource gaspillée. C’est pourquoi tout le monde veut que l’utilisation du processeur du serveur soit proche de 100%. Et pour le maintenir à son meilleur niveau, vous devrez peut-être peaufiner et continuer à mettre à jour le système. Pour savoir quoi faire, vous devez connaître l’état actuel de l’utilisation du processeur du serveur.

Vous pouvez vérifier l’utilisation du processeur de votre serveur avec une seule commande. Si vous disposez d’un système d’exploitation Windows, ouvrez votre invite de commandes et exécutez cette commande:

wmic cpu get loadpercentage

Vous devriez voir le pourcentage d’utilisation du processeur comme indiqué dans cette capture d’écran:

En fonction de vos besoins, vous pouvez demander périodiquement l’utilisation du processeur et stocker les données quelque part, puis les examiner plus tard. Ou vous pouvez diffuser l’utilisation du processeur dans un tableau de bord pour surveiller à tout moment.

La plupart des systèmes d’exploitation sont équipés d’outils et d’utilitaires intégrés pour la surveillance de l’utilisation du processeur. Mais ces outils ont des limites et ils sont généralement trop basiques. À l’ère actuelle, nous avons besoin de capacités avancées pour traiter et travailler sur les données de surveillance, ce qui nécessite des outils de surveillance avancés. Presque tous les services sont en ligne maintenant. Et les serveurs jouent un rôle important dans la mise à disposition de ces services. Vous ne pouvez pas vous permettre d’attendre quelques heures pour savoir que votre serveur est en panne en raison d’une utilisation élevée du processeur. Vous devez surveiller en permanence l’utilisation du processeur et d’autres mesures du serveur.

Surveiller en continu

Vérifier l’utilisation du processeur du serveur à un moment donné n’est pas très utile. Vous avez besoin d’une solution pour surveiller l’utilisation du processeur du serveur en continu. Presque tous les systèmes d’exploitation de serveur sont livrés avec un moniteur de performances où vous pouvez voir l’utilisation du processeur à tout moment. Lorsque vous surveillez l’utilisation du processeur du serveur, vous devez rechercher des pics, car des changements soudains dans l’utilisation du PROCESSEUR indiquent que quelque chose d’extraordinaire s’est produit.

En plus de surveiller l’utilisation du processeur en temps réel, vous souhaitez stocker ces données afin de pouvoir les visualiser et les analyser à différents intervalles. Pour tirer le meilleur parti des statistiques d’utilisation du PROCESSEUR, vous devez collecter des données d’utilisation du processeur à intervalles réguliers (de préférence en temps réel) en générant des journaux, et vous devez les visualiser sous forme de graphiques. Nous venons de parler d’une mesure, mais n’oubliez pas que l’utilisation du processeur du serveur n’est pas la seule chose à surveiller. Pour obtenir tout ce dont vous avez besoin au même endroit, utilisez Scalyr.

Leave a Reply

Votre adresse e-mail ne sera pas publiée.