14 Outils de ligne de commande pour vérifier l’utilisation du processeur sous Linux

Les performances du processeur sont un aspect de la mesure de la la performance d’un système. La surveillance des performances du processeur est essentielle pour déboguer les processus à l’intérieur de tout système, gérer les ressources système, prendre des décisions système et évaluer et examiner les systèmes en temps réel.

De nombreux outils sont disponibles pour surveiller et afficher Performances du processeur. Les systèmes d’exploitation ont des appels système intégrés sur lesquels ces outils s’appuient pour extraire les lectures de performances.

Dans ce didacticiel, nous explorerons le meilleur outil de surveillance de l’utilisation du processeur et leurs utilisations dans toutes les distributions basées sur Linux.

1) Top

La commande top affiche une vue en temps réel des données relatives aux performances de tous les processus en cours d’exécution dans un système. Par défaut, la commande top met à jour les données toutes les 5 secondes. Tapez « top » depuis le terminal pour afficher les données statistiques relatives aux performances d’un système.

 # top

Pour modifier la sortie de la commande top, appuyez sur:

« P » pour trier par utilisation du processeur.

« I » pour supprimer les processus inactifs de l’affichage et pour revenir en arrière, appuyez à nouveau sur « I ».

« M » pour trier les données par utilisation de la mémoire.

« S » pour trier par type de temps d’exécution des processus.

« P » pour trier par utilisation du processeur.

« U » pour afficher les processus appartenant à un utilisateur spécifique.

« K » pour tuer les processus.

« R » pour renommer les processus.

2) Iostat

La commande iostat répertorie l’utilisation du processeur, l’utilisation des périphériques et l’utilisation du système de fichiers réseau. Cet utilitaire affiche l’utilisation moyenne du processeur du système depuis le dernier redémarrage. L’exécution de la commande suivante sans aucune option affiche les trois rapports.

 # iostat

Pour répertorier les rapports individuels, utilisez les commutateurs -c, -d et -h pour l’utilisation du processeur , l’utilisation des périphériques et l’utilisation du système de fichiers réseau. La commande suivante divisera l’utilisation du processeur en processus utilisateur, processus système, attente d’E / S et temps d’inactivité.

 # iostat -c

La commande suivante affichera des statistiques étendues ( -x), le nombre de fois (-t) que chaque rapport doit être affiché pour l’utilisation du processeur (-c).

 # iostat -xtc 5 2

3) Vmstat

La commande vmstat affichera des statistiques sur les processus système, la mémoire, le swap, les E / S et les performances du processeur. Pour afficher des statistiques, les données sont collectées depuis la dernière exécution de la commande jusqu’à aujourd’hui. Dans le cas où la commande ne serait jamais exécutée, les données seront du dernier redémarrage à l’heure actuelle.

Sur plusieurs systèmes CPU, vmstat calcule en moyenne le nombre de CPU dans la sortie. La commande vmstat met à jour sa sortie comme la commande top.

La commande suivante mettra à jour son rapport toutes les 5 secondes jusqu’à ce qu’il y ait une interruption.

 # vmstat 5

La commande suivante affichera les données qui seront mises à jour toutes les 5 secondes et les valeurs seront re-mesurées et rapportées toutes les 1 seconde.

 # vmstat 1 5

Le La première ligne imprime les valeurs moyennes depuis le dernier redémarrage de l’ordinateur. Le reste des lignes affichera leurs valeurs actuelles respectives. Un utilisateur normal peut exécuter la commande vmstat.

4) Mpstat

Mpstat fait partie du paquet sysstat sous Linux. La commande mpstat écrit dans la sortie standard sur les activités de chaque processeur disponible, le processeur 0 étant le premier. Si aucune activité n’a été sélectionnée, le rapport par défaut est le rapport d’utilisation du processeur.

mpstat sans aucune option affichera les activités moyennes globales de tous les processeurs

 # mpstat

mpstat avec l’option -p et « ALL » listera les statistiques de tous les processeurs un par un à partir de 0.

 # mpstat -P ALL

La commande suivante va lister l’utilisation moyenne du processeur 4 fois, chacune après 2 secondes.

 # mpstat -P ALL 2 4

5) Sar

Le sar est un outil de surveillance des performances pour collecter, visualiser et enregistrer les données de performance et peut lister ce qu’un système fait en permanence. La commande Sar peut générer un rapport et les envoyer par e-mail à l’administrateur système. Les statistiques rapportées par sar comprennent les taux de transfert d’E / S, l’activité de pagination, les activités liées aux processus, les interruptions, l’activité du réseau, l’utilisation de la mémoire et de l’espace d’échange, l’utilisation du processeur, les activités du noyau et les statistiques TTY, entre autres. Exécutez sar sans aucune option et vérifiez la sortie. Les statistiques de la liste de sortie par défaut toutes les 10 minutes et une moyenne finale.

 # sar

Affiche les statistiques du processeur 3 fois avec un intervalle de 2 secondes.

 # sar 2 3

La commande suivante affiche l’utilisation cumulée du processeur en temps réel de tout le processeur toutes les 2 secondes au total 3 fois.

 # sar -u 2 3

L’option « -P ALL » affiche des statistiques pour TOUS les cœurs individuels. Si votre système a 4 cœurs, la « colonne CPU » contiendra le numéro 0, 1, 2, 3 indiquant les numéros de cœur CPU correspondants.L’option « 2 3 » affiche les statistiques toutes les 2 secondes pendant 3 fois.

 # sar -P ALL 2 3

L’option « -P 2 » affiche les statistiques du troisième cœur toutes les 2 secondes 3 fois.

 # sar -P 2 2 3

6) CoreFreq

CoreFreq est un logiciel de surveillance des performances du processeur conçu pour les processeurs 64 bits avec les architectures Intel Atom, Core2, Nehalem, SandyBridge et supérieur, famille AMD. Le CoreFreq fournit un cadre pour récupérer les données du processeur avec un haut degré de précision. Le module noyau, le démon et l’interface de ligne de commande (CLI) sont les trois parties de Corefreq. Le module du noyau aura un accès complet à l’hôte. Il est de sa responsabilité de rassembler les données de bas niveau. Le démon userland collecte les données. Vous devez être un utilisateur root pour exécuter le démon. Enfin, CoreFreq est livré avec une interface de terminal pour rapporter les données dans un joli format lisible par l’homme. Cet outil CLI est un processus ordinaire et peut être utilisé par l’utilisateur final.

Prérequis

i) CoreFreq utilise le compteur de bas niveau et vous devez donc d’abord désactiver le chien de garde NMI via / etc / default / grub. Modifiez / etc / default / grub et ajoutez l’argument de ligne de commande du noyau « nmi_watchdog = 0 », puis exécutez update-grub.

 # vi /etc/default/grub
 .................... .................... GRUB_CMDLINE_LINUX="nmi_watchdog=0" .................... ....................
 # update-grub && reboot

ii) Pas de virtualisation. Les VM ne donnent pas accès aux registres utilisés par le pilote CoreFreq.

Installez CoreFreq

Installez le module du noyau avec insmod

 # sudo insmod corefreqk.ko

Liste le module CoreFreq avec lsmod

 # lsmod | grep corefreq corefreqk 49152 0

La sortie de la commande dmesg montre que CoreFreq a été reconnu par le processeur.

 # sudo dmesg | grep CoreFreq CoreFreq: Processor Architecture CPU 

Démarrez le démon CoreFreq

 # sudo ./corefreqd -i &

Démarrez maintenant le client corefreq en tant qu’utilisateur.

 # ./corefreq-cli

7) Htop

Htop est un visualiseur de processus et une application en mode texte pour la surveillance du système en temps réel comme top. Il affiche un affichage complet liste des processus en cours d’exécution et facile à utiliser. Elle est basée sur ncurses pour visualiser les processus dans un environnement de type GUI s’exécutant dans le terminal. Htop affiche l’utilisation par CPU ainsi que l’utilisation de la mémoire et de l’échange avec un graphique de texte significatif imprimé en haut. Htop est très pratique à utiliser et facile à comprendre. Une fois que vous avez commencé à utiliser HTOP, y Il se peut que vous ne retourniez pas à TOP.

Installez htop à l’aide de la commande suivante dans le terminal

 # sudo apt-get install htop

Exécutez htop à l’aide de la commande suivante.

 # htop

8) Nmon

nmon (Nigel’s Performance Monitor pour Linux & AIX) a été développé par Nigel Griffiths, employé d’IBM. Cet outil est utilisé pour surveiller les ressources système telles que le processeur, la mémoire, le réseau, les disques, les systèmes de fichiers, NFS, les principaux processus du terminal. NMON prend en charge diverses architectures telles que POWER, x86, x86_64, Mainframe et ARM (Raspberry Pi). Cet outil aide l’administrateur système à régler, à évaluer les informations de performances pour dépanner les performances du processeur / système en cas de problèmes. Pour la surveillance en temps réel, il utilise la bibliothèque curses pour un faible impact sur le processeur et affiche des statistiques à l’écran et se met à jour toutes les deux secondes. nmon consomme moins de mémoire CPU par rapport aux autres outils car il utilise la bibliothèque curses.

Installation

 # sudo apt-get install nmon (Ubuntu) # sudo yum install nmon (CentOS)

Les utilisateurs de CentOS doivent installer / activer Dépôt EPEL pour installer nmon.

Tapez nmon dans le terminal et appuyez sur Entrée, nmon affichera un écran de bienvenue avec toutes les options pour l’utiliser davantage. Si vous souhaitez afficher l’utilisation du processeur, appuyez sur c et pour masquer les statistiques des widgets d’utilisation du processeur, appuyez à nouveau sur « c ».

9) Glances

Glances est un outil de surveillance multi-plateforme basé sur des curses écrit en Python qui utilise la bibliothèque psutil pour récupérer les données du système. Glance surveillez l’utilisation des espaces CPU, Charge Moyenne, Mémoire, Interfaces Réseau, E / S disque, Processus et Système de Fichiers.

Installez Glances dans votre système avec la commande suivante.

Sous Ubuntu :

 # sudo apt-get install glances

En Centos:

 # sudo yum install glances

Vous pouvez exécuter Glances en 3 modes-

1. Standalone

Si vous voulez surveiller votre machine locale (Standalone), exécutez simplement-

 # glances

2. Client / Serveur

Si vous souhaitez surveiller une machine à distance, exécutez ce qui suit sur le serveur.

 # glances -s

puis depuis le client , exécutez la commande suivante.

 # glances -c @server

où @server est l’adresse IP ou le nom d’hôte du serveur.

3. Serveur Web

Exécutez les regards en mode serveur Web en exécutant la commande suivante dans le terminal.

 # glances -w Glances web server started on http://0.0.0.0:61208/

Pour modifier le taux de rafraîchissement du page, ajoutez simplement la période en secondes à la fin de l’URL. Par exemple, pour actualiser la page toutes les 30 secondes, ajoutez 10 à l’URL du serveur Glances à partir du navigateur.

 http://@server:61208/30

10) Cpustat

Cpustat est comme une sorte de haut de fantaisie qui fait des choses différentes. La plupart des outils de performance utilisent en moyenne le processeur sur quelques secondes, voire une minute. Il en résulte un fantasme de capacité excédentaire en raison d’une augmentation brutale de l’utilisation des ressources qui se mêle à des périodes moins chargées. D’autre part, cpustat prélève des échantillons de fréquence plus élevée de chaque processus et résume ces échantillons à une fréquence plus basse. Par exemple, il peut mesurer un processus toutes les 200 ms et résumer les échantillons toutes les 5 secondes, y compris les valeurs min / moyenne / max pour certaines métriques.

Installer Cpustat

Cpustat est écrit en langue Go. Par conséquent, vous avez besoin de GO dans votre système. S’il n’y est pas, installez-le en utilisant les commandes suivantes dans le terminal.

Dans Ubuntu

 # sudo add-apt-repository ppa:longsleep/golang-backports # sudo apt-get update # sudo apt-get install golang-go

Dans CentOS

 # yum install golang

Une fois Golang installé dans votre système, créez un répertoire pour Cpustat et rendez ce répertoire disponible pour le GOPATH.

 # mkdir cpustat # export GOPATH=$HOME/cpustat

Installez Cpustat et vérifiez que les répertoires sont copiés dans le dossier cpustat.

 # go get github.com/uber-common/cpustat # cd cpustat && ls

Ajoutez le dossier bin à la variable d’environnement PATH. Vous pouvez également ajouter la ligne suivante à ~ / .bashrc ou / etc / profile selon ce que vous utilisez.

 # export PATH=$PATH:/root/cpustat/bin

Il y a deux façons d’afficher ceci Les données. Soit une liste de texte pur de l’intervalle récapitulatif, soit un tableau de bord défilant coloré de chaque échantillon. Pour afficher les données en mode terminal sophistiqué, exécutez la commande suivante dans le terminal.

 # cpustat -t

Pour exécuter en mode texte pur, utilisez la commande suivante. En mode texte, peu de métriques récapitulatives à l’échelle du système proviennent de / proc / stat.

 # cpustat

La commande suivante prendra un échantillon de tous les processus toutes les 500 ms et résumez ces données après 10 échantillons, soit toutes les 5 secondes.

 # cpustat -s 500 -s 10 -n 20

Utilisez la commande suivante pour mesurer les processus qui appartiennent soit à l’utilisateur root, soit à l’utilisateur ubuntu. Les statistiques globales du système seront toujours mesurées.

 # cpustat -u root, ubuntu

Ne mesurez que les processus de « apache » ou « mysql ». L’option -p de cpustat prend une liste d’identifiants de processus retournés par pgrep. pgrep est utilisé pour obtenir les identifiants de processus (option -d).

 # cpustat -p $(pgrep -d, apache2\|mysqld)

Utilisez la commande suivante pour écrire le profil de mémoire dans un fichier.

 # cpustat -memprofile test.txt

11) perf

Perf peut mesurer les compteurs de performances du processeur, les points de trace, les kprobes et les uprobes inclus dans le noyau Linux, sous tools / perf. perf a commencé comme un outil pour utiliser le sous-système de compteurs de performances sous Linux, et a eu diverses améliorations pour ajouter des capacités de traçage. Les outils perf sont intégrés dans le noyau Linux depuis la version 2.6 et sont basés sur le sous-système perf events. Le profileur de performances utilise des compteurs matériels pour profiler l’application. Le résultat de ce profileur est explicite et rapide. L’utilitaire perf se trouve dans le package linux-tools.

Measure entire system for 10 seconds using perf.
 # perf stat -a -- sleep 10

Si vous souhaitez trouver les performances du processeur pour une » commande « particulière comme cp. La commande perf suivante profilera cp pendant la copie de l’intégralité du répertoire Documents vers un nouvel emplacement (Docs).

 # perf stat cp -r Documents/ Docs

Si vous voulez trouver les statistiques du compteur CPU pour un PID spécifié, puis utilisez la commande suivante jusqu’à ce que CTRL + C soit pressé.

 # perf stat -p 2087

Trouvez les statistiques de base du processeur, à l’échelle du système, pendant 10 secondes en utilisant la perf commander. Vous pouvez également omettre n’importe laquelle des options sous l’option -e pour être plus spécifique.

 # perf stat -e cycles,instructions,cache-references,cache-misses,bus-cycles -a sleep 10

Collectez l’échantillon d’instructions utilisateur sur le processeur, pendant 5 secondes, puis utilisez le rapport perf pour afficher le rapport.

 # perf record -e cycles:u -a -- sleep 5 # perf report

Collectez des exemples de traces de pile de processeur, une fois tous les 10 000 échecs du cache de données de niveau 1, pendant 5 secondes, puis utilisez le rapport perf pour afficher le rapport.

 # perf record -e L1-dcache-load-misses -c 10000 -ag -- sleep 5 # perf report

12) tiptop

Tiptop lit les compteurs de performances matérielles et affiche des statistiques sur l’exécution des processus Linux, tels que IPC , ou le cache manque. Il fournit une vue dynamique en temps réel des tâches exécutées dans le système. Tiptop est très similaire à top, mais les informations affichées proviennent des compteurs matériels.

Il a deux modes de fonctionnement, le mode direct et le mode batch. Dans les deux modes, le système est périodiquement interrogé pour les valeurs des compteurs matériels, et différents ratios sont imprimés pour chaque tâche.

13) commande ps

Nous pouvons utiliser la commande ps pour trouver utilisation du processeur pour chaque processus ou utilisateur. Quelques exemples à comprendre

Pour afficher le CPU le plus élevé & Utilisation de la mémoire par les processus exécutés par root.

Exécutez la commande suivante pour afficher l’utilisation du processeur pour la commande spécifique:

Pour afficher les processus pour tous les utilisateurs et non attachés à un terminal en liste complète avec un tri

14) commande dstat

La commande dstat est un outil polyvalent pour générer des statistiques de ressources système et elle afficherait également les statistiques du processeur. Vous devez l’installer pour pouvoir l’utiliser

Sur Centos

# yum install -y dstat

Sur Ubuntu

# apt-get install dstat

Pour surveiller le programme qui utilise le plus de CPU et qui consomme le plus de mémoire.

# dstat -c --top-cpu -dn --top-mem

Conclusion

Dans ce tutoriel, nous avons exploré quelques outils de surveillance des performances du CPU ainsi que leurs utilisations. Assurez-vous de lire les pages de manuel pour chacune d’elles, car elles documentent également les utilisations en détail. N’oubliez pas que l’utilisation de ces outils nécessite également une part du processeur. Par exemple, top prend 3% -4% du CPU tandis que les regards prennent 15% à 20% du CPU. Ainsi, lorsque vous utilisez l’un de ces éléments, vous devez également tenir compte de cet aspect. En un mot, vous pourrez trouver quel processus prend le plus de temps CPU, y a-t-il suffisamment de mémoire libre, si les processus sont bloqués en attendant les E / S, c’est-à-dire. accès au disque ou au réseau pour compléter la lecture / écriture et bien plus encore en utilisant une combinaison de quelques-uns d’entre eux.

Lire aussi:

  • Comment surveiller les performances de Linux à l’aide de la commande Sar
  • Installez htop 2.0.2 et utilisez la ligne de commande sous Linux

Write a Comment

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *