GNU/Linux >> Tutoriels Linux >  >> Linux

Commandes de base pour résoudre les problèmes de performances sous Linux

Vous trouverez ci-dessous la liste des commandes du système d'exploitation, à l'exception des commandes de base, qui sont utiles pour diagnostiquer les problèmes côté système d'exploitation qui ralentissent les performances. Veuillez noter que toutes les commandes mentionnées ci-dessus sont testées uniquement dans un environnement Linux.

Si vous êtes prêt à traquer vos problèmes de performances, voici quelques outils pour vous aider à démarrer :

  • SAR :Avec le package sysstat installé, utilisez la commande sar pour afficher les informations d'activité pour une gamme de fonctionnalités système ou pour avoir une idée de l'utilisation des ressources au fil du temps. Une fois installées, les tâches cron sysstat collectent des données système toutes les 10 minutes qui peuvent être affichées ultérieurement avec la commande sar. Avec sar, vous pouvez également afficher les mêmes types de données en direct.
  • dstat :Créé en remplacement de vmstat, iostat et ifstat, dstat offre de nombreuses options pour combiner et afficher différents types de données système. Il affiche les données en couleur et vous permet de présenter différentes informations dans les colonnes de votre choix. Avec dstat, vous pouvez voir des statistiques sur le processeur de votre système, les E/S de disque, l'activité réseau, la pagination, les interruptions, les moyennes de charge, la mémoire, les processus, les compteurs de temps et les systèmes de fichiers. Utilisez dstat pour comparer l'activité du système en direct pour différents types de ressources. Par exemple, lors de téléchargements de fichiers volumineux, vous pouvez comparer l'activité du réseau et du disque.
  • ps :La commande ps est le moyen courant de voir quels processus sont en cours d'exécution. Combiné avec des options, ps vous permet de choisir les colonnes à afficher pour chaque processus et de trier les données selon l'une de ces colonnes. Utilisez ps pour afficher des informations sur tout ou partie des processus en cours d'exécution sur votre système.
  • haut :Avec top, vous pouvez regarder un affichage orienté écran des processus en cours d'exécution sur votre système qui est mis à jour toutes les quelques secondes. Vous pouvez trier par utilisation du processeur ou de la mémoire et tuer ou annuler les processus. Utilisez top pour trouver immédiatement vos processus les plus consommateurs.
  • iostat :Principalement, iostat vous permet d'afficher les statistiques d'E/S pour les périphériques (tels que les disques et les interfaces réseau). Ceci est utile pour vérifier les goulots d'étranglement d'E/S, car les données sont affichées en pourcentage de la capacité de lecture/écriture de l'appareil.
  • mpstat :La commande mpstat répertorie l'utilisation du processeur. Utilisez mpstat pour voir la quantité de CPU consommée et pour avoir une idée générale de l'origine de cette consommation.
  • vmstat :Répertorier les statistiques de mémoire avec la commande vmstat. Si les performances sont médiocres, utilisez vmstat pour voir si la mémoire est épuisée et si le système échange trop.
  • iptraf :Pour un outil graphique permettant de surveiller le trafic réseau, exécutez la commande iptraf. Utilisez iptraf pour voir quelles adresses IP spécifiques génèrent le plus de trafic réseau vers et depuis votre système.
  • tcpdump :cet outil textuel vous permet de surveiller les paquets atteignant les interfaces réseau sélectionnées et éventuellement de filtrer ces paquets pour rechercher certains types d'activité. Utilisez tcpdump pour suivre les problèmes de performances liés à des services spécifiques. Vous pouvez choisir de n'afficher que les paquets destinés à un service particulier.
  • wireshark :Cet outil est une version graphique de tcpdump, avec de nombreuses fonctionnalités analytiques. L'outil inclut la prise en charge du décodage de nombreux protocoles couramment utilisés et de leur affichage dans une interface utilisateur graphique interactive.

Maintenant, approfondissons quelques-uns des outils que nous venons d'énumérer.

1. Sortie de la commande "iotop" pour l'environnement Linux.

La commande iotop est un utilitaire de type top pour les E/S de disque. Il surveille les informations d'utilisation des E/S générées par le noyau Linux (nécessite la version 2.6.20 ou ultérieure) et affiche un tableau de l'utilisation actuelle des E/S par les processus ou les threads du système. Cela nécessite que l'utilisateur root exécute la commande.

2. Pour collecter les informations du cache du système de fichiers à l'aide de la sortie de la commande "free" pour obtenir l'utilisation du cache du système de fichiers :

  • Commande "free" pour vérifier l'utilisation de la mémoire.
  • Les "tampons" représentent la quantité de RAM dédiée au bloc de disque de cache. "Cached" est similaire à "Buffers", mais cette fois, il met en cache les pages de la lecture de fichiers.
  • Un tampon est quelque chose qui n'a pas encore été "écrit" sur le disque.
  • Un cache est quelque chose qui a été "lu" à partir du disque et stocké pour une utilisation ultérieure.

3. Pour vérifier la liste des correctifs du système d'exploitation appliqués sous Linux, utilisez la commande ci-dessous. Cela aidera à identifier les changements effectués par CT dans le passé :

# rpm -qa --last > last-rpms.txt
Remarque :Cela listera les correctifs appliqués avec la date et l'heure.

4. Pour collecter les informations sur la mémoire/CPU/IO/NUMA, etc. pour toute modification de la sortie dmesg. Peut être collecté toutes les 30 secondes :

– Pour afficher les informations matérielles liées au port Ethernet eth0 :

$ dmesg | grep -i eth0

– Pour afficher la mémoire totale disponible et les détails de la mémoire partagée :

$ dmesg | grep -i Memory

– Pour afficher les informations tty :

$ dmesg | grep -i tty

– Pour afficher les informations NUMA :

$ dmesg | grep -i numa

– Pour afficher les informations sur les disques durs :

$ dmesg | grep -i sda

– Pour afficher les informations relatives au CPU :

$ dmesg | grep -i CPU

5. Pour collecter le journal global des messages système :

/var/log/messages
/var/log/dmesg

La commande dmesg affiche le contenu actuel des messages du tampon en anneau syslog du noyau tandis que le fichier /var/log/dmesg contient ce qui se trouvait dans ce tampon en anneau lorsque le processus de démarrage s'est terminé pour la dernière fois. /var/log/dmesg reste inchangé jusqu'au prochain redémarrage. Les anciens messages sont remplacés par les nouveaux messages dans le tampon circulaire.

dmesg est le sous-ensemble de /var/log/messages et est conservé dans le tampon circulaire. /var/log/messages inclut tous les messages système, y compris depuis le démarrage du système, ainsi que les messages dans dmesg. En un mot, les journaux de dmesg sont déversés dans /var/log/messages.

Noms et utilisation courants des fichiers journaux Linux :

  • /var/log/messages  :Message général et éléments liés au système
  • /var/log/auth.log  :Journaux d'authentification
  • /var/log/kern.log  :Journaux du noyau
  • /var/log/cron.log :Journaux Crond (tâche cron)
  • /var/log/maillog  :Journaux du serveur de messagerie
  • /var/log/qmail/ :Répertoire du journal Qmail (plus de fichiers dans ce répertoire)
  • /var/log/httpd/ :Répertoire des journaux d'accès et d'erreurs d'Apache
  • /var/log/lighttpd/ :Répertoire des journaux d'accès et d'erreurs Lighttpd
  • /var/log/boot.log  :Journal de démarrage du système
  • /var/log/mysqld.log :fichier journal du serveur de base de données MySQL
  • /var/log/secure ou /var/log/auth.log :Journal d'authentification
  • /var/log/utmp ou /var/log/wtmp :Fichier d'enregistrements de connexion
  • /var/log/yum.log :fichier journal de la commande Yum.

6. Pour vérifier si des pages énormes sont utilisées. A exécuter uniquement au début et à la fin de la collecte OSW :

# grep -i Hugepages /proc/meminfo
# cat /proc/meminfo

7. Pour vérifier le système de fichiers utilisé sur le système d'exploitation. A exécuter une seule fois :

# cat /etc/fstab

8. Pour collecter les informations sur l'activité du système au cours de la dernière semaine :

/var/log/sa contient des fichiers pour sa et sar contenant les informations d'historique d'utilisation du processeur.

# ls -al /var/log/sa | grep "Mar 12"
-rw-r--r--. 1 root root 721996 Mar 12 23:50 sa12
-rw-r--r--. 1 root root 655607 Mar 12 23:53 sar12

"sar -W -f /var/log/sa/sa12" - affiche les informations historiques de pagination/permutation

# less /var/log/sa/sa12

9. Pour obtenir les informations de l'architecture CPU :

# lscpu
# cat /proc/cpuinfo

10. Pour obtenir les informations sur la mémoire partagée/les sémaphores du noyau :

# ipcs -lm
# ipcs -ls
# cat /proc/sys/kernel/shmmax
# cat /proc/sys/kernel/shmmni
getconf PAGE_SIZE
# cat /proc/sys/kernel/shmall

11. Pour obtenir des informations sur les descripteurs de fichiers :

# cat /proc/sys/fs/file-max
# cat /proc/sys/fs/file-nr

12. Pour obtenir des informations sur ulimit pour les descripteurs de fichiers ouverts/maxproc :

# su - oracle
# ulimit -n
# ulimit -u

13. Pour vérifier la taille maximale d'E/S par demande d'E/S :

# cat /sys/block/[device]/queue/max_sectors_kb

Pour déterminer la taille d'E/S maximale en octets lorsque Asynch IO est utilisé :

# cat /proc/sys/fs/aio-max-size

ou

# cat /proc/sys/fs/aio-max-nr

14. Pour afficher le modèle de périphérique de disque, les normes, la configuration, la capacité, etc. :

Exemple :

# hdparm -I /dev/sda
# sudo hdparm -i /dev/sda

15. Pour vérifier la taille de bloc d'un appareil particulier :

Exemple :

# blockdev --getbsz /dev/xvda1
# tune2fs -l /dev/vgxx/lvolx


Linux
  1. 10 commandes Linux de base que vous devez connaître

  2. Utilisation de nfsstat et nfsiostat pour résoudre les problèmes de performances NFS sous Linux

  3. Commandes Linux de A à Z

  4. Commandes Linux de base

  5. Commande d'écho Linux

Commandes Linux de base

4 commandes pour arrêter Linux depuis le terminal

Commande Fsck sous Linux

25 commandes Linux de base qu'un débutant doit connaître

Dépanner et surveiller les performances du système Linux avec nmon

Utilisation de vmstat pour résoudre les problèmes de performances sous Linux