Votre ordinateur Linux ou macOS utilise de la mémoire virtuelle. Découvrez comment cela affecte l'utilisation de la mémoire physique par votre système, Ressources CPU et disque dur.
Qu'est-ce que la mémoire virtuelle?
Votre ordinateur est équipé d'une quantité finie 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 l'application en cours d'exécution.. Si ces demandes combinées nécessitent plus de mémoire que ce qui est physiquement installé sur votre ordinateur, Que peut faire le noyau?
Systèmes d'exploitation de type Linux et Unix, comme macOS, peut utiliser l'espace sur votre disque dur pour aider à gérer les demandes de mémoire. Une zone réservée d’espace disque appelée “espace d’échange” peut être utilisé comme s’il s’agissait d’une extension de ram. C'est la mémoire virtuelle.
Le noyau Linux peut écrire le contenu d'un bloc de mémoire pour échanger de l'espace et libérer cette région de RAM pour une autre procédure.. La mémoire échangée, aussi appelé “Bipé”, peut être récupéré à partir de l'espace d'échange et restauré dans la RAM si nécessaire.
Depuis lors, la vitesse d'accès à la mémoire paginée est plus lente que la mémoire stockée dans la RAM. Et ce n'est pas la seule compensation. Bien que la mémoire virtuelle fournisse à Linux un moyen de gérer ses demandes de mémoire, l'utilisation de la mémoire virtuelle augmente les charges sur d'autres parties de l'ordinateur.
Votre disque dur doit faire plus de lectures et d'écritures. El noyau, et ainsi, le processeur, doit faire plus de travail, puisqu'il échange la mémoire, échange la mémoire et fait tourner toutes les cartes pour répondre aux besoins de mémoire des différents processus.
Linux vous offre un moyen de surveiller toute cette activité sous la forme de vmstat
commander, qui rapporte statistiques de la mémoire virtuelle.
La commande vmstat
Si vous écrivez vmstat
en tant que commande sans paramètres, vous montrera un ensemble de valeurs. Ces valeurs sont moyennes pour chacune des statistiques depuis le dernier redémarrage de votre ordinateur. Ces chiffres ne sont pas un instantané des valeurs “en ce moment”.
vmstat
Un petit tableau de valeurs s'affiche.
Il y a des colonnes intitulées Procs, Mémoire, Échanger, je, Système et CPU. La dernière colonne (la colonne la plus à droite) contient les données relatives au processeur.
Ensuite, une liste des éléments de données dans chaque colonne est affichée.
Proc
- r: Le nombre de processus exécutables. Ce sont des processus qui ont été démarrés et sont en cours d'exécution ou qui attendent leur prochaine rafale de cycles CPU fractionnés dans le temps.
- B: Le nombre de processus en suspension ininterrompue. La procédure ne chôme pas, vous faites un appel au système de blocage et ne peut être interrompu tant que vous n'avez pas terminé votre action en cours. En général, la procédure est un pilote de périphérique en attente de la libération d'une ressource. Toutes les interruptions en file d'attente pour cette procédure sont traitées lorsque la procédure reprend son activité habituelle.
Mémoire
- swpd: la quantité de mémoire virtuelle utilisée. Autrement dit, combien de mémoire a été échangée.
- gratuite: la quantité de mémoire inactive (aujourd'hui inutilisé).
- fort: la quantité de mémoire utilisée comme tampon.
- cache: la quantité de mémoire utilisée comme cache.
Échanger
- et: Quantité de mémoire virtuelle échangée au de l'espace d'échange.
- alors: Quantité de mémoire virtuelle échangée dehors échanger de l'espace.
je
- avec un: Blocs reçus d'un périphérique de bloc. Le nombre de blocs de données utilisés pour échanger la mémoire virtuelle dans la 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.
Système
- au: Le nombre d'interruptions par seconde, y compris l'horloge.
- 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.
CUP
Ces valeurs sont toutes des pourcentages du temps CPU total.
- NOUS: Temps passé à exécuter du code non essentiel. Autrement dit, combien de temps est consacré au traitement du temps utilisateur et au traitement du temps agréable.
- le sien: Temps passé à exécuter le code du noyau.
- identifiant: Temps d'inactivité.
- Washington: Temps passé à attendre l'entrée ou la sortie.
- S t: Temps volé sur une machine virtuelle. C'est le temps qu'une machine virtuelle doit attendre que l'hyperviseur ait fini de servir d'autres machines virtuelles avant de pouvoir revenir en arrière et servir cette machine virtuelle.
Utiliser un intervalle de temps
Nous pouvons avoir vmstat
fournir des mises à jour régulières de ces chiffres par le biais d'un delay
valeur. Les 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 à la table. Vous devrez appuyer sur Ctrl + C pour arrêter ça.
Utilisation d'une valeur de comptage
Utiliser une valeur trop faible delay
Le courage mettra une pression supplémentaire sur votre système. Si vous avez besoin d'avoir des mises à jour rapides pour essayer de diagnostiquer un obstacle, Il est recommandé d'utiliser un count
valeur ainsi qu'un delay
valeur.
Les count
valeur dit vmstat
combien de mises à jour effectuer avant de quitter et de le renvoyer à l'invite de commande. Si vous ne fournissez pas de count
valeur, vmstat
fonctionnera jusqu'à l'arrêt via Ctrl + C.
Pour avoir vmstat
fournir une mise à jour toutes les cinq secondes, mais seulement pour quatre mises à jour, utilisez la commande suivante:
vmstat 5 4
Après quatre mises à jour vmstat
s'arrête tout seul.
Changement d'unités
Vous pouvez sélectionner les statistiques de mémoire et d'échange à afficher en kilo-octets ou en méga-octets à l'aide du bouton -S
option (caractère d'unité). Ceci doit être suivi de l'un des k
, K
, m
, O M
. Ceux-ci représentent:
- k: 1000 octets
- K: 1024 octets
- métro: 1000000 octets
- MÉTRO: 1048576 octets
Pour que les statistiques soient mises à jour chaque 10 secondes avec des 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 d'échange sont maintenant affichées en mégaoctets. Notez que le -S
L'option n'affecte pas les statistiques du bloc E / S. Ceux-ci sont toujours affichés dans des blocs.
Mémoire active et inactive
Si vous utilisez le -a
(actif) les colonnes cache et cache sont remplacées par des colonnes “inact” Oui “actif”. Comment suggéreriez-vous, ceux-ci montrent la quantité de mémoire inactive et active.
Pour voir ces deux colonnes au lieu des colonnes d'amélioration et de cache, inclure le -a
option, comme on le montre:
vmstat 5 -un -S M
Les colonnes inactives et actives est-ce ainsi affecté par l'option -S (caractère d'unité).
Fourches
Les -f
Le commutateur affiche le nombre de branches qui se sont produites depuis le démarrage de l'ordinateur.
Autrement dit, cela montre le nombre de tâches qui ont été démarrées (Oui, pour la plupart d'entre eux, ils ont de nouveau fermé) depuis le démarrage du système. Chaque procédure démarrée à partir de la ligne de commande augmenterait ce chiffre. Chaque fois qu'une tâche ou une procédure génère ou clone une nouvelle tâche, ce chiffre va augmenter.
vmstat -f
L'affichage de la fourche ne se met pas à jour.
Affichage des informations sur la dalle
Le noyau a sa propre gestion de la mémoire dont il faut se soucier, 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 différents types d'objets de données qu'il doit gérer. Pour que cela soit le plus efficace possible, utilise un système appelé dalles. C'est une forme de mise en cache.
Mémoire allouée, utilisé et n'est plus nécessaire pour un type spécifique d'objet de données du noyau peut être réutilisé pour un autre objet de données du même type sans que la mémoire soit désallouée et réallouée. Considérez les dalles comme des segments de RAM pré-alloués, sur mesure, pour les propres besoins du noyau.
Pour afficher les statistiques de la dalle, Utilisez le -m
(dalles) option. Vous devrez utiliser sudo
, et on vous demandera votre mot de passe. Comment la sortie peut être assez longue, nous le canalisons less
.
sudo vmstat -m | moins
La sortie a cinq colonnes. Ceux-ci sont:
- Cacher: Nom du cache.
- sur une: Le nombre d'objets actuellement actifs dans ce cache.
- le total: Le nombre total d'objets disponibles dans ce cache.
- Taille: La taille de chaque objet dans le cache.
- pages: Le nombre total de pages de mémoire disponibles (au moins) un objet actuellement associé à ce cache.
presse q
laisser 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
(statistiques) option. Veuillez noter qu’il s’agit d’un “s” minuscule.
vmstat -s
Même si les statistiques rapportées sont en grande partie les mêmes que les informations qui constituent le vmstat
Sortir, certains d'entre eux sont décomposés plus en détail.
Par exemple, La sortie par défaut combine le temps CPU utilisateur agréable et désagréable en colonne “NOUS”. L'écran -s (statistiques) liste ces statistiques séparément.
Affichage des statistiques de disque
Vous pouvez obtenir une liste équivalente de statistiques de disque en utilisant le -d
(disco) option.
vmstat -d | moins
Pour chaque disque, trois colonnes sont affichées, ce sont des lectures, Escrituras et moi..
IO est la colonne de droite. Notez que la colonne des secondes dans IO est mesurée en secondes, mais les statistiques soutenues au fil du temps dans les colonnes de lecture et d'écriture sont mesurées en millisecondes.
C'est ce que signifient les colonnes:
Lee
- le total: Le nombre total de lectures de disque.
- fusionné: Le nombre total de lectures regroupées.
- secteurs: Le nombre total de secteurs qui ont été lus.
- Mme: Durée totale en millisecondes utilisée pour lire les données du disque.
écrit
- le total: Le nombre total d'écritures sur le disque.
- fusionné: Le nombre total d'écritures regroupées.
- secteurs: Le nombre total de secteurs écrits sur.
- Mme = Nombre total de temps en millisecondes qui a été utilisé pour écrire des données sur le disque.
je
- scélérat: Nombre de lectures ou d'écritures actuelles sur le disque.
- seconde: Temps passé en secondes pour toute lecture ou écriture en cours.
Affichage des statistiques de disque récapitulatives
Pour voir un aperçu rapide des statistiques récapitulatives de l'activité de votre disque, Utilisez le -D
(somme de disque) option. Veuillez noter le “ré” lettre capitale
vmstat -D
Le nombre de disques peut sembler anormalement élevé. L'ordinateur utilisé pour rechercher ce message 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éé qui est attaché à un périphérique / développeur / boucle.
Il est ennuyeux que de nombreuses commandes et utilitaires Linux comptent ces entrées de périphérique comme des périphériques de disque dur.
Affichage des statistiques de partition
Pour afficher les statistiques associées à une partition spécifique, utiliser el -p
(cloison) et fournir l'identifiant 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
, quel est le disque dur principal de cet ordinateur.
vmstat -p sda1
Les informations renvoyées indiquent le nombre total de lectures et d'écritures de disque vers et depuis cette partition, et le nombre de secteurs inclus dans les actions de lecture et d'écriture du disque.
Un regard sous le capot
Toujours bon de savoir soulever le capot et voir ce qui se passe en dessous. Parfois, va essayer de réparer un obstacle, parfois vous ne serez pas intéressé parce que vous voulez savoir comment fonctionne votre ordinateur.
vmstat
peut vous fournir une mine d'informations utiles. Maintenant, vous savez comment y entrer et ce que cela signifie. Et être prévenu est prévenu: quand il faut retrousser ses manches et faire des diagnostics, tu sauras ce que tu as vmstat
de ton côté.