Comment surveiller l'utilisation du processeur sous Linux au fil du temps

Contenu

utilitaire principal affichant l'utilisation actuelle du processeur pour chaque processus en cours d'exécution

Les top L'utilitaire affiche l'utilisation actuelle du processeur pour chaque procédure en cours, mais que faire si je voulais surveiller cela au fil du temps et l'afficher sur un graphique? Il existe des utilitaires pour cela si votre fournisseur de cloud n'en a pas déjà un.

En remarque, si vous ne l'avez pas encore installé, les htop Utilitaire (dans l'image ci-dessus) c'est beaucoup plus agréable à utiliser que le défaut top.

La réponse triviale: utiliser les graphiques de votre fournisseur de cloud

Cette solution est, avec beaucoup, le plus simple à utiliser, mais il ne sera pas disponible pour tout le monde. Si vous êtes sur AWS, CloudWatch facilite la surveillance de l'utilisation du processeur.

Depuis le Console de gestion CloudWatch, Choisir “Métrique” puis affichez les métriques pour EC2. La métrique “CPUUtilisation” affiche votre utilisation moyenne du processeur:

Dans la console de gestion CloudWatch, sélectionner "Métrique" puis afficher les métriques pour EC2.

Votre utilisation moyenne du processeur est mesurée par incréments de 5 minutes, mais vous pouvez activer la surveillance étendue pour l'instance et l'augmenter par incréments de 1 minute. Malgré cela, le faire a un coût supplémentaire. De plus, vous pouvez facilement définir des alarmes lorsque l'utilisation du processeur est trop élevée.

Si vous êtes dans le moteur de recherche Google Cloud Platform, un graphique apparaît sous l’onglet “Surveillance” lorsque vous sélectionnez une instance.

Graphique qui apparaît dans Google Cloud Platform dans l

Azure a Moniteur d'Azure, afficher des informations équivalentes:

Azure Monitor affiche des informations similaires à Google Cloud Platform.

Pour la plupart des autres fournisseurs de cloud, ils ont probablement aussi un graphique comme celui-ci.

À l'aide de / proc / loadavg

La meilleure façon de le faire nativement est de regarder où top obtient vos informations de. /proc/loadavg contient des moyennes de 1 minute, 5 minutes et 15 minutes. Vous pouvez vous connecter avec cat

cat /proc/loadavg/
1.71 1.32 1.38 2/97 6429

Vous pouvez l'utiliser pour générer un graphique en imprimant chaque ligne dans un fichier CSV séparé par des virgules, en utilisant certains awk la magie:

cat /proc/loadavg | ah '{imprimer $1","$2","$3}' >> cpu.csv

Connectez-le à un cron travail qui s'exécute toutes les minutes, faire pivoter les journaux avec logrotate, et vous aurez un moniteur CPU manipulé. Vous pouvez importer le fichier CSV dans Excel, où il sera facile de tracer l'utilisation moyenne du processeur sur un graphique linéaire.

Notez que la commande ci-dessus imprime les moyennes de 1 minute, 5 minutes et 15 minutes. Si vous l'exécutez toutes les minutes, il n'est pas vraiment nécessaire d'imprimer les moyennes de 5 et 15 minutes, car il peut le comprendre informatiquement.

Instalar sysstat

Les sar L'utilitaire est excellent pour surveiller les performances du système. Il est inclus dans le sysstat, qui n'est probablement pas installé par défaut sur votre système. Vous devrez l'obtenir auprès du gestionnaire de paquets de votre distribution. Pour les systèmes basés sur Debian comme Ubuntu, serieuse:

sudo apt-get install sysstat

Ensuite, activez-le en éditant /etc/default/sysstat et l’établissement “ACTIVÉ” en vrai.

Ce faisant, surveille votre système et génère un rapport chaque 10 minutes, les faire tourner après une semaine. Vous pouvez modifier ce comportement en éditant le crontab sysstat dans /etc/cron.d/sysstat, ou en changeant le réglage de rotation dans le sysstat paramètres dans /etc/sysstat/sysstat.

Vous pouvez générer un rapport en temps réel avec la commande suivante:

sar -u 1 3

sysstat collectera les données d'utilisation du processeur en arrière-plan toutes les minutes, en les sauvegardant /var/log/sysstat/. Vous pouvez ensuite importer ces données pour analyse, à l'aide d'un tableur ou d'un outil personnalisé comme sargraphe, montrant un beau graphique:

sargraph affiche un graphique de l'utilisation du processeur.

Vous pouvez également utiliser des utilitaires de ligne de commande pour tracer des graphiques comme celui-ci, Quoi ttyplot, mais aucun d'entre eux n'est aussi facile à utiliser (et si attrayant) en tant qu'interface graphique. La ligne de commande est meilleure dans ce, les graphismes sont plus agréables.

Monit peut vous avertir si l'utilisation du processeur est trop élevée

Monit logo

Monit est une suite de surveillance open source pour Unix qui vérifie l'état de votre serveur et peut être configurée pour vous envoyer des notifications si l'utilisation du processeur de votre serveur devient dangereusement élevée. Lisez notre guide de configuration pour plus d'informations.

Notez que CloudWatch accomplit la même chose immédiatement avec des alarmes et peut fonctionner sur plusieurs métriques différentes, pas seulement dans l'utilisation du processeur.

Abonnez-vous à notre newsletter

Nous ne vous enverrons pas de courrier SPAM. Nous le détestons autant que vous.