VMSTAT - Surveillance de la mémoire et des processus dans Linux avec des exemples

VMSTAT - Surveillance de la mémoire et des processus dans Linux avec des exemples

Dans le monde de l'administration du système Linux, la surveillance et la compréhension des performances de votre système sont cruciales pour assurer son fonctionnement en douceur. Un de ces outils de surveillance essentiels est 'vmstat' - Un utilitaire de ligne de commande polyvalente qui fournit des statistiques perspicaces sur la mémoire d'un système Linux, les processus, les IO et l'utilisation du processeur.

Dans cet article, nous nous plongerons dans l'utilisation et diverses options de la commande VMSTAT, explorerons des exemples pratiques et apprendre à interpréter la sortie pour diagnostiquer les problèmes de performance potentiels.

Qu'est-ce que VMSTAT?

Les statistiques de mémoire virtuelle (VMSTAT) sont un utilitaire UNIX / Linux qui collecte et affiche des informations sur la mémoire du système, le processeur, les processus et les opérations IO. Il s'agit d'un outil puissant et facile à utiliser pour comprendre comment votre système utilise ses ressources, l'identification des goulots d'étranglement et le diagnostic des problèmes de performance.

Installation

VMSTAT est préinstallé sur la plupart des distributions Linux. Cependant, s'il n'est pas déjà installé, vous pouvez facilement l'obtenir en installant le package «sysstat»:

  • Pour les systèmes basés sur Debian / Ubuntu:
    sudo apt-get install sysstat  
  • Pour les systèmes basés sur RHEL / CENTOS / FEDORA:
    sudo yum install sysstat  

Utilisation de base

La syntaxe de base de la commande VMSTAT est la suivante:

VMSTAT [OPTIONS] [DELAD] [COUNT]
1VMSTAT [OPTIONS] [DELAD] [COUNT]
  • Options: Indicateurs qui modifient le comportement de la commande ou spécifiez le type d'informations à afficher.
  • retard: L'intervalle de temps (en secondes) entre les mises à jour. La valeur par défaut est 1 seconde.
  • compter: Le nombre de mises à jour à afficher avant de sortir. Par défaut, VMSTAT continuera de fonctionner indéfiniment.

Pour afficher les statistiques du système de base, exécutez simplement la commande sans aucune option:

vmstat  

Comprendre la sortie VMSTAT

La sortie de la commande VMSTAT est affichée dans un format tabulaire, chaque ligne représentant un instantané de l'état du système à un moment précis.

Les colonnes de la sortie sont:

  1. Procédure
    • r: Le nombre de processus exécutables (en cours d'exécution ou en attente de temps d'exécution).
    • b: Le nombre de processus dans un état de sommeil sans interruption.
  2. Mémoire
    • SWPD: La quantité de mémoire virtuelle utilisée (en kb).
    • gratuit: La quantité de mémoire inactive (en kb).
    • chamois: La quantité de mémoire utilisée comme tampons (en kb).
    • cache: La quantité de mémoire utilisée comme cache (en kb).
  3. Échanger
    • si: La quantité de mémoire échangée à partir du disque (en kb / s).
    • donc: La quantité de mémoire échangée sur le disque (en kb / s).
  4. Io
    • bi: Le nombre de blocs reçus d'un périphérique de bloc (blocs / s).
    • bêle: Le nombre de blocs envoyés à un périphérique de bloc (blocs / s).
  5. Système
    • dans: Le nombre d'interruptions par seconde, y compris l'horloge.
    • CS: Le nombre de commutateurs de contexte par seconde.
  6. CPU
    • nous: Le pourcentage de temps passé à exécuter du code non-nage (temps utilisateur).
    • système: Le pourcentage de temps passé à exécuter le code du noyau (temps système).
    • identifiant: Le pourcentage de temps passé au ralenti.
    • Washington: Le pourcentage de temps passé à attendre IO.

Exemples pratiques

  • Afficher les mises à jour continues toutes les 2 secondes:
    VMSTAT 2  
  • Surveiller les statistiques du système toutes les 2 secondes pour un total de 5 mises à jour:
    vmstat 2 5  
  • Afficher uniquement les informations liées au processeur:
    VMSTAT -C  
  • Afficher la mémoire active et inactive:
    VMSTAT -A  

    Cette commande rapporte la mémoire active et inactive dans le système, offrant plus d'informations sur les modèles d'utilisation de la mémoire.

  • Afficher les horodatages:
    VMSTAT -T  

    Cette commande ajoute un horodatage à chaque ligne de sortie, ce qui facilite le suivi des changements au fil du temps.

  • Afficher uniquement les champs spécifiques:
    VMSTAT -S 

    Cette commande affiche un rapport plus détaillé sur le terrain sur le terrain sur l'utilisation de la mémoire virtuelle du système.

  • Afficher les statistiques du disque:
    VMSTAT -D 

    Cette commande montre des statistiques d'activité disque, telles que les lectures, les écritures et les opérations d'E / S.

  • Afficher la sortie dans une unité spécifique:
    Unité VMSTAT 

    Remplacez «unité» par l'unité de mesure souhaitée (K: kiloBytes, K: 1000 octets, M: Mégaoctets, M: 1000000 octets). Par exemple, VMSTAT -S M affichera la sortie dans les mégaoctets.

Interprétation de la sortie VMSTAT

En analysant la sortie de VMSTAT, vous pouvez identifier les goulots d'étranglement du système potentiels et les problèmes de performances. Voici quelques directives pour vous aider à interpréter les résultats:

  • Processus à exécution élevée (colonne de Procs 'R'): Si le nombre de processus runnables est constamment élevé, cela peut indiquer que votre système connaît une charge de processeur élevée, et vous devrez peut-être optimiser vos applications ou mettre à niveau votre CPU.
  • Processus de sommeil sans interruption élevés (colonne de Procs 'B'): Un nombre élevé de processus dans un sommeil sans interruption peut indiquer que votre système connaît des goulots d'étranglement IO, qui peuvent être causés par un accès au disque lent ou une mémoire insuffisante.
  • Utilisation de la mémoire (colonnes de mémoire: SWPD, libre, buff, cache): Surveillez l'utilisation de la mémoire pour vous assurer que votre système a suffisamment de mémoire libre. Si la 'swpd' La valeur est toujours élevée, elle peut indiquer que votre système utilise trop d'espace d'échange, ce qui peut dégrader considérablement les performances. Envisagez d'optimiser vos applications ou d'ajouter plus de mémoire physique.
  • Activité d'échange (swap colonnes: si, so): L'échange fréquent peut entraîner de mauvaises performances. Si les valeurs «si» et «donc» sont toujours élevées, cela peut indiquer que votre système utilise trop d'espace d'échange. Vous devrez peut-être optimiser vos applications ou ajouter plus de mémoire physique.
  • Activité IO (colonnes IO: BI, BO): Une activité IO élevée peut provoquer des goulots d'étranglement des performances. Si la 'bi' et 'Bo' Les valeurs sont systématiquement élevées, cela peut indiquer que votre système connaît une activité de disque lourde. Envisagez d'optimiser vos applications, de mise à niveau de votre système de stockage ou de répartir la charge sur plusieurs disques.
  • Utilisation du processeur (colonnes CPU: US, SY, ID, WA): Surveillez l'utilisation du processeur pour vous assurer que votre système n'est pas surchargé. Haut 'nous' et 'sy' Les valeurs indiquent que le CPU passe beaucoup de temps à exécuter les processus utilisateurs et système. Si ces valeurs sont systématiquement élevées, envisagez d'optimiser vos applications ou de mettre à niveau votre CPU. Les valeurs «Wa» élevées indiquent que le CPU passe beaucoup de temps à attendre IO, qui peut être un signe de goulots d'étranglement IO.

Conclusion

VMSTAT est un outil de surveillance puissant et polyvalent pour les systèmes Linux, fournissant des informations précieuses sur la mémoire, les processus, les IO et l'utilisation du CPU. En comprenant la sortie de VMSTAT et en l'utilisant pour diagnostiquer les problèmes de performances potentielles, vous pouvez optimiser votre système et vous assurer qu'il fonctionne bien et efficacement.