Comment utiliser la commande vmstat sous Linux

Votre ordinateur Linux ou macOS utilise la mémoire virtuelle. Découvrez comment cela affecte l’utilisation par votre système de la mémoire physique, du processeur et des ressources du disque dur.

Qu’est-ce que la mémoire virtuelle?

Votre ordinateur est équipé d’une quantité limitée de mémoire physique appelée mémoire vive (RAM). Cette RAM doit être gérée par le noyau et partagée entre le système d’exploitation et toutes les applications en cours d’exécution. Si ces demandes combinées demandent plus de mémoire que celle installée physiquement sur votre ordinateur, que peut faire le noyau?

Les systèmes d’exploitation de type Linux et Unix tels que macOS peuvent utiliser de l’espace sur votre disque dur pour les aider à gérer les demandes de mémoire. Une zone réservée d’espace disque dur appelée «espace d’échange» peut être utilisée comme s’il s’agissait d’une extension de RAM. C’est de la mémoire virtuelle.

Le noyau Linux peut écrire le contenu d’un bloc de mémoire dans l’espace d’échange et libérer cette région de RAM pour une utilisation par un autre processus. La mémoire échangée – également appelée «sortie paginée» – peut être récupérée de l’espace d’échange et restaurée dans la RAM lorsque cela est nécessaire.

Bien entendu, la vitesse d’accès à la mémoire paginée est plus lente que celle de la mémoire stockée dans la RAM. Et ce n’est pas le seul compromis. Alors que la mémoire virtuelle fournit un moyen pour Linux de gérer ses demandes de mémoire, l’utilisation de la mémoire virtuelle impose une charge accrue ailleurs sur l’ordinateur.

Votre disque dur doit effectuer plus de lectures et d’écritures. Le noyau – et par conséquent, le processeur – doit faire plus de travail car il échange de la mémoire, échange de la mémoire et maintient toutes les plaques en rotation pour satisfaire les besoins en mémoire des différents processus.

Linux vous permet de surveiller toute cette activité sous la forme de vmstat commande, qui rend compte de statistiques de la mémoire virtuelle.

La commande vmstat

Si vous tapez vmstat en tant que commande sans paramètres, il vous montrera un ensemble de valeurs. Ces valeurs sont les moyennes pour chacune des statistiques depuis le dernier redémarrage de votre ordinateur. Ces chiffres ne sont pas un instantané des valeurs «pour le moment».

vmstat

Un court tableau de valeurs s’affiche.

Il y a des colonnes intitulées Procs, Memory, Swap, IO, System et CPU. La dernière colonne (la plus à droite) contient les données relatives à la CPU.

Voici une liste des éléments de données dans chaque colonne.

Proc

  • r: Le nombre de processus exécutables. Ce sont des processus qui ont été lancés et qui sont en cours d’exécution ou qui attendent leur prochaine rafale de cycles CPU.
  • b: Le nombre de processus en veille ininterrompue. Le processus n’est pas en veille, il exécute un appel système bloquant et ne peut pas être interrompu tant qu’il n’a pas terminé son action en cours. En règle générale, le processus est un pilote de périphérique qui attend que certaines ressources soient gratuites. Toutes les interruptions en file d’attente pour ce processus sont gérées lorsque le processus reprend son activité habituelle.

Mémoire

  • swpd: la quantité de mémoire virtuelle utilisée. En d’autres termes, combien de mémoire a été échangée.,
  • gratuit: la quantité de mémoire inactive (actuellement inutilisée).
  • chamois: la quantité de mémoire utilisée comme tampons.
  • cache: la quantité de mémoire utilisée comme cache.

Échanger

  • si: Quantité de mémoire virtuelle permutée dans depuis l’espace d’échange.
  • alors: Quantité de mémoire virtuelle permutée en dehors pour échanger de l’espace.

IO

  • bi: Blocs reçus d’un périphérique bloc. Le nombre de blocs de données utilisés pour remplacer la mémoire virtuelle en RAM.
  • bo: Blocs envoyés à un périphérique de bloc. Le nombre de blocs de données utilisés pour échanger la mémoire virtuelle de la RAM vers l’espace d’échange.
En relation :  Comment obtenir Google sur votre Roku

Système

  • dans: Le nombre d’interruptions par seconde, horloge comprise.
  • cs: Le nombre de changements de contexte par seconde. Un changement de contexte se produit lorsque le noyau passe du traitement en mode système au traitement en mode utilisateur.

CPU

Ces valeurs sont tous des pourcentages du temps CPU total.

  • nous: Temps passé à exécuter du code non-noyau. Autrement dit, combien de temps est passé dans le traitement du temps utilisateur et dans le traitement au bon moment.
  • sy: Temps passé à exécuter le code du noyau.
  • identifiant: Temps passé inactif.
  • Washington: Temps passé à attendre l’entrée ou la sortie.
  • st: Temps volé sur une machine virtuelle. Il s’agit du temps qu’une machine virtuelle doit attendre que l’hyperviseur ait fini de réparer d’autres machines virtuelles avant de pouvoir revenir et s’occuper de cette machine virtuelle.

Utilisation d’un intervalle de temps

Nous pouvons avoir vmstat fournir des mises à jour régulières de ces chiffres en utilisant un delay évaluer. Le delay La valeur est fournie en secondes. Pour que les statistiques soient mises à jour toutes les cinq secondes, nous utiliserions la commande suivante:

vmstat 5

Toutes les cinq secondes vmstat ajoutera une autre ligne de données au tableau. Vous devrez appuyer sur Ctrl + C pour arrêter cela.

Utilisation d’une valeur de comptage

En utilisant un trop faible delay la valeur exercera une pression supplémentaire sur votre système. Si vous avez besoin de mises à jour rapides pour essayer de diagnostiquer un problème, il est recommandé d’utiliser un count valeur ainsi qu’un delay évaluer.

Le count la valeur dit vmstat le nombre de mises à jour à effectuer avant de se fermer et de revenir à l’invite de commande. Si vous ne fournissez pas de count évaluer, vmstat fonctionnera jusqu’à ce qu’il soit arrêté par Ctrl + C.

Pour avoir vmstat fournir une mise à jour toutes les cinq secondes, mais uniquement pour quatre mises à jour, utilisez la commande suivante:

vmstat 5 4

Après quatre mises à jour vmstat s’arrête de lui-même.

Changer les unités

Vous pouvez choisir d’afficher les statistiques de mémoire et d’échange en kilo-octets ou en mégaoctets à l’aide du -S (unité-caractère) option. Ceci doit être suivi de l’un des k , K , m, ou M. Celles-ci représentent:

  • k: 1000 octets
  • K: 1024 octets
  • m: 1000000 octets
  • M: 1048576 octets

Pour que les statistiques soient mises à jour toutes les 10 secondes avec les statistiques de mémoire et d’échange affichées en mégaoctets, utilisez la commande suivante:

vmstat 10 -S M

Les statistiques de mémoire et de swap sont désormais affichées en mégaoctets. Notez que le -S L’option n’affecte pas les statistiques de bloc d’E / S. Ceux-ci sont toujours affichés par blocs.

Mémoire active et inactive

Si vous utilisez le -a (active) les colonnes buff et cache memory sont remplacées par les colonnes «inact» et «active». Comme ils le suggèrent, ceux-ci montrent la quantité de mémoire inactive et active.

Pour voir ces deux colonnes au lieu des colonnes buff et cache, incluez le -a option, comme indiqué:

vmstat 5 -a -S M

Les colonnes inactes et actives sommes affecté par l’option -S (unité-caractère).

Fourches

Le -f Le commutateur affiche le nombre de fourchettes qui se sont produites depuis le démarrage de l’ordinateur.

En d’autres termes, cela montre le nombre de tâches qui ont été lancées (et, pour la plupart d’entre elles, refermées) depuis le démarrage du système. Chaque processus lancé à partir de la ligne de commande augmenterait ce chiffre. Chaque fois qu’une tâche ou un processus génère ou clone une nouvelle tâche, ce chiffre augmente.

vmstat -f

L’affichage des fourches ne se met pas à jour.

Affichage de Slabinfo

Le noyau a sa propre gestion de la mémoire dont il faut s’occuper ainsi que la gestion de la mémoire pour le système d’exploitation et toutes les applications.

Comme vous pouvez l’imaginer, le noyau alloue et désalloue de la mémoire encore et encore pour les nombreux types d’objets de données qu’il doit gérer. Pour rendre cela aussi efficace que possible, il utilise un système appelé dalles. C’est une forme de mise en cache.

La mémoire allouée, utilisée et non requise pour un type spécifique d’objet de données noyau peut être réutilisée pour un autre objet de données du même type sans que la mémoire ne soit désallouée et réallouée. Considérez les dalles comme des segments pré-alloués, faits sur mesure, de RAM pour les propres besoins du noyau.

En relation :  Comment lier l'application Microsoft Your Phone à l'iPhone sous Windows

Pour voir les statistiques des dalles, utilisez le -m (dalles) option. Vous devrez utiliser sudo, et vous serez invité à entrer votre mot de passe. Comme la sortie peut être assez longue, nous la transmettons less.

sudo vmstat -m | less

La sortie a cinq colonnes. Ceux-ci sont:

  • Cache: Nom du cache.
  • num: Le nombre d’objets actuellement actifs dans ce cache.
  • total: Le nombre total d’objets disponibles dans ce cache.
  • Taille: La taille de chaque objet dans le cache.
  • des pages: Le nombre total de pages de mémoire qui ont (au moins) un objet actuellement associé à ce cache.

presse q quitter less.

Affichage des compteurs d’événements et des statistiques de la mémoire

Pour afficher une page de compteurs d’événements et de statistiques de mémoire, utilisez le -s (stats) option. Notez que c’est un «s» minuscule.

vmstat -s

Bien que les statistiques rapportées soient en grande partie les mêmes que les informations qui constituent la valeur par défaut vmstat sortie, certains d’entre eux sont répartis plus en détail.

Par exemple, la sortie par défaut combine le temps CPU de l’utilisateur gentil et non agréable dans la colonne «nous». L’affichage -s (stats) répertorie ces statistiques séparément.

sortie de vmstat -s dans une fenêtre de terminal

Affichage des statistiques du disque

Vous pouvez obtenir une liste similaire des statistiques de disque en utilisant le -d (disque) option.

vmstat -d | less

Pour chaque disque, trois colonnes sont affichées, ce sont les lectures, les écritures et les E / S.

IO est la colonne la plus à droite. Notez que la colonne sec dans IO est mesurée en secondes, mais les statistiques basées sur le temps dans les colonnes de lecture et d’écriture sont mesurées en millisecondes.

Voici ce que signifient les colonnes:

Lit

  • total: Le nombre total de lectures de disque.
  • fusionné: Le nombre total de lectures groupées.
  • secteurs: Le nombre total de secteurs lus.
  • Mme: Nombre total de temps en millisecondes qui ont été utilisés pour lire les données du disque.

écrit

  • total: Le nombre total d’écritures sur disque.
  • fusionné: Le nombre total d’écritures groupées.
  • secteurs: Le nombre total de secteurs écrits dans.
  • Mme = Nombre total de temps en millisecondes qui ont été utilisés pour écrire des données sur le disque.

IO

  • cur: Nombre de lectures ou d’écritures sur le disque en cours.
  • seconde: Temps passé en secondes pour toute lecture ou écriture en cours.

Affichage des statistiques récapitulatives du disque

Pour afficher un affichage rapide des statistiques récapitulatives de l’activité de votre disque, utilisez le -D (disk-sum) option. Notez le «D» majuscule

vmstat -D

Le nombre de disques peut sembler anormalement élevé. L’ordinateur utilisé pour rechercher cet article exécute Ubuntu. Avec Ubuntu, chaque fois que vous installez une application à partir d’un Snap, un squashfs un pseudo-système de fichiers est créé et est attaché à un périphérique / dev / loop.

Malheureusement, ces entrées de périphériques sont comptées comme des périphériques de disque dur par de nombreuses commandes et utilitaires Linux.

Affichage des statistiques de partition

Pour afficher les statistiques relatives à une partition spécifique, utilisez le -p (partition) et fournissez l’identificateur de partition comme paramètre de ligne de commande.

Ici, nous allons regarder la partition sda1. Le chiffre un indique qu’il s’agit de la première partition sur l’appareil sda, qui est le disque dur principal de cet ordinateur.

vmstat -p sda1

Les informations renvoyées indiquent le nombre total de lectures et d’écritures sur disque depuis et vers cette partition, ainsi que le nombre de secteurs inclus dans les actions de lecture et d’écriture sur disque.

Un coup d’oeil sous le capot

Il est toujours bon de savoir comment soulever le capot et de voir ce qui se passe en dessous. Parfois, vous essayez de résoudre des problèmes, parfois cela ne vous intéresse pas parce que vous voulez savoir comment fonctionne votre ordinateur.

vmstat peut vous fournir une tonne d’informations utiles. Vous savez maintenant comment y accéder et ce que cela signifie. Et vous êtes prévenu: lorsque vous avez besoin de retrousser vos manches et de faire des diagnostics, vous saurez que vous avez vmstat de votre côté.

Moyens Staff
Moyens I/O Staff vous a motivé, donner des conseils sur la technologie, le développement personnel, le style de vie et des stratégies qui vous aider.