GNU/Linux >> Tutoriels Linux >  >> Cent OS

Installation et utilisation de Perf dans Ubuntu et CentOS

La performance est l'une des parties les plus compliquées de l'administration système. Chaque fois que vous essayez d'enquêter sur la source des mauvaises performances ou la raison de la charge de travail élevée, vous avez besoin des bons outils pour le faire.

Perf est l'un de ces outils. C'est un compteur de performances pour Linux que vous pouvez utiliser pour collecter des données sur les performances de votre système.

Nous verrons comment l'installer sur Ubuntu et Centos et ferons une petite présentation de l'utilisation de la commande de base.

Installer Perf sur Ubuntu

Perf fait partie du paquet "linux-tools" dans Ubuntu et il est installé comme n'importe quel autre paquet utilisant apt. Assurez-vous simplement que vos sources sont mises à jour.

sudo apt update

Tout d'abord, installez le package linux-tools-common :

sudo apt install linux-tools-common

Ensuite, vous devez créer un package spécifique pour votre noyau en cours d'exécution. Pour obtenir la version exacte de votre noyau, utilisez la commande suivante :

uname -r

Vous obtiendrez la version exacte du noyau.

Vous pouvez installer le package linux-tools spécifique ou s'il n'existe pas de version spécifique du package pour votre noyau, vous pouvez utiliser le package linux-tools-generic. Mais cela pourrait ne pas fonctionner comme prévu. En règle générale, perf ne fonctionnera pas ou ne fonctionnera pas comme prévu, si le paquet linux-tools ne correspond pas à l'exécution (très important ! l'exécution, pas la version installée) du noyau Linux.

Installer Perf sur CentOS

Comme d'habitude, les noms de packages varient de CentOS à Ubuntu, mais la procédure est fondamentalement la même, commencez par mettre à jour les informations du package :

yum update

Il existe un package direct qui déclenchera toutes les dépendances dans CentOS.

yum install perf

Utilisation de base de la commande Perf

Voyons quelques commandes de base sur la façon d'utiliser perf. L'utilisation la plus basique de perf est, bien sûr, la page d'aide, avec le drapeau "-help" pour voir le résumé de la commande

Selon la configuration de votre système, certaines commandes de perf peuvent être limitées par des politiques de sécurité. Pour désactiver ces politiques, utilisez simplement :

echo 0 > /proc/sys/kernel/perf_event_paranoid

Il existe deux grands groupes de commandes :les commandes exécutées sur le système en direct et les commandes exécutées sur un enregistrement de performances.

Commandes sur un système en direct

perf list [category]

La commande ci-dessus répertorie tous les types d'événements disponibles dans le système. C'est une longue liste et selon la configuration du système, elle sera enveloppée par moins/plus. Si vous fournissez une valeur de catégorie, seuls les événements de cette catégorie seront affichés.

Les catégories disponibles sont :hw|sw|cache|tracepoint|pmu|event_glob

perf bench <category> <benchmark>

La commande ci-dessus fait plusieurs benchmarks sur le système. Ils sont répartis en différentes catégories (sched, mem, numa, futex, all) et chaque catégorie a une liste différente de repères.

Si vous souhaitez vérifier tous les tests de vitesse de la mémoire, utilisez la commande ci-dessous :

perf bench mem all
perf stat <command>

La commande ci-dessus renverra les statistiques de performances. Il affichera quelque chose comme ça

perf top

Cela affichera une analyse en direct du profil du système, comme top, mais plus affinée.

Ici commence le deuxième groupe de commandes.

Commandes sur un enregistrement de performances

Vous pouvez enregistrer un profil de performances de toute commande que vous exécutez à l'aide de la ligne de commande suivante :

perf record [options]

Cela produira un enregistrement brut des registres de performance. La profondeur de cet enregistrement dépendra de l'installation de votre système. Vous aurez peut-être besoin de packages de débogage ou de développement pour obtenir toutes les données de profilage que vous pourriez obtenir. Il existe également de nombreux indicateurs qui nous permettront de contrôler ce qui sera profilé, comment il sera enregistré et à quelle fréquence il sera profilé.

Une fois que nous avons le record de performances, il existe plusieurs commandes pour agir avec ces données, la plus simple est la suivante :

perf report -i <perf file> [options]

Cela générera un rapport du fichier de performances. Nous pouvons sélectionner comment diviser ou trier les données ou quelles données nous voulons dans le rapport.

perf diff <datafile 1> <datafile 2> …

Cela nous permettra de comparer deux exécutions, par exemple, si nous voulons savoir comment le programme s'exécute après avoir changé les paramètres par rapport à l'exécution de base.

perf lock -I <perf file>

Cela analysera tous les événements de verrouillage dans un fichier de performances précédemment enregistré.

perf mem -t <Type> [ record <command> | report ]

Cela enregistrera ou rapportera à partir d'un enregistrement, profilant sur l'accès à la mémoire du type sélectionné.

perf timechart

Cela fera un chronogramme de l'exécution du profilage précédemment enregistré.

Avec tous ces outils en main, vous pouvez commencer à vérifier ce qui se passe sur votre serveur, vous pouvez commencer à faire des profils d'exécutions pour tester différentes configurations et vous serez armé d'un vaste ensemble d'outils pour contrôler les performances de votre système .


Cent OS
  1. Installation du JDK JAVA 8 sur CentOS, RedHat et Fedora

  2. Installation de PostgreSQL et phpPgAdmin dans CentOS

  3. Installation et utilisation de Docker sur CentOS et Fedora

  4. Installer et utiliser Docker sur Ubuntu et Debian

  5. Comment installer MongoDB sur Ubuntu 20.04 et CentOS 8

Installer et configurer phpLDAPAdmin sur CentOS 7 / Ubuntu 16.04

Installation et utilisation de Perf dans Ubuntu et CentOS

Comment vider le DNS sur Ubuntu et CentOS

Installation et configuration du serveur Wazuh sur CentOS 7

Comment installer Firefox 36 sur CentOS 7 et Ubuntu 14.04

Installer Apache et PHP sur CentOS 8