GNU/Linux >> Tutoriels Linux >  >> Linux

Commandes Linux :explorer la mémoire virtuelle avec vmstat

Il existe de nombreuses commandes, outils et variantes des deux que vous pouvez utiliser en ce qui concerne les statistiques système sous Linux. Cependant, si vous avez besoin des spécificités autour de la mémoire virtuelle, vous souhaitez utiliser vmstat .

Qu'est-ce que c'est ?

Reporter de statistiques de mémoire virtuelle, également connu sous le nom de vmstat , est un outil de ligne de commande Linux qui rapporte diverses informations système. Des éléments tels que la mémoire, la pagination, les processus, les E/S, le processeur et la planification des disques sont tous inclus dans le tableau des informations fournies.

Lorsque vous exécutez vmstat , gardez à l'esprit que le premier rapport est une moyenne des informations demandées depuis le dernier redémarrage. Les rapports suivants utilisent des mesures de retard et compter . Je les aborde spécifiquement lors de la discussion sur la syntaxe.

Syntaxe de la commande

La syntaxe de vmstat commande est assez simple :

$ vmstat [options][délai [compte]]

  • Options :elles sont décrites en détail dans la section suivante.
  • Delay - cela définit l'intervalle de temps entre les mises à jour. Si aucun délai n'est spécifié, le rapport s'exécute en moyenne depuis le dernier redémarrage.
  • Count - ceci définit le nombre de mises à jour imprimées après l'intervalle de délai donné. Si aucun décompte n'est défini, la valeur par défaut est un nombre infini de mises à jour toutes les x secondes (où x =délai).

Sortie de base et comment lui donner un sens

La forme la plus basique de cette commande n'utilise aucune option. Voici la sortie standard et comment la lire :

[tcarrigan@rhel ~]$ vmstat
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0      0 6012852   2120 817048    0    0  2805   289  797  657 21  7 71  1  0

Vous voyez des informations sur les processus, la mémoire, le swap, les E/S, le système et le processeur. La page de manuel de la commande indique ce qui suit (man vmstat ):

- Procs
     - r: The number of runnable processes (running or waiting for run times)
     - b: The number of processes in uninterruptible sleep. 
 - Memory
     - swpd: the amount of virtual memory used. 
     - free: the amount of idle memory
     - buff: the amount of memory used as buffers
     - cache: the amount of memory used as cache. 
     - inact: the amount of inactive memory. (-a option)
     - active: the amount of active memory. (-a option)
 - Swap
     - si: Amount of memory swapped in from disk (/s). 
     - so: Amount of memory swapped to a block device (/s). 
 - IO
     - bi: Blocks received from a block device (blocks/s). 
     - bo: Blocks sent to a block device (blocks/s). 
 - System
     - in: The number of interrupts per second, including the clock. 
     - cs: The number of context switcher per second. 
 - CPU
     - These are percentages of total CPU time. 
     - us: Time spent running non-kernel code. (user time, including nice time)
     - sy: Time spent running kernel code. (system time)
     - id: Time spent idle. Prior to Linux 2.5.41, this includes IO-wait time. 
     - wa: Time spent waiting for IO.  Before Linux 2.5.41, included in idle.
     - st: Time stolen from a virtual machine.  Prior to Linux 2.6.11, unknown.

Parmi les informations importantes ici, vous trouverez la quantité de mémoire libre sur le système, ainsi que la quantité d'activité d'échange que vous rencontrez actuellement.

Options à connaître

Le -a l'option nous donnera la mémoire active et inactive du système :

[tcarrigan@rhel ~]$ vmstat -a
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free  inact active   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 6022104 609656 1185980    0    0   180    40   80   79  1  1 98  0  0

Le -f l'option nous donnera le nombre de forks depuis le démarrage :

[tcarrigan@rhel ~]$ vmstat -f
         2911 forks

Notez qu'un fork est tout processus qui génère un autre processus tout en restant actif.

Le -s L'option affiche diverses statistiques de mémoire ainsi que des compteurs d'événements CPU et IO :

[tcarrigan@rhel ~]$ vmstat -s 
      8161656 K total memory
      1216012 K used memory
      1186276 K active memory
       609632 K inactive memory
      6021980 K free memory
         2120 K buffer memory
       921544 K swap cache
      3145724 K total swap
            0 K used swap
      3145724 K free swap
         5888 non-nice user cpu ticks
          476 nice user cpu ticks
         1520 system cpu ticks
       529965 idle cpu ticks
          331 IO-wait cpu ticks
          939 IRQ cpu ticks
          103 softirq cpu ticks
            0 stolen cpu ticks
       755494 pages paged in
       167719 pages paged out
            0 pages swapped in
            0 pages swapped out
       365026 interrupts
       374126 CPU context switches
   1590618807 boot time
         2952 forks

Le -d L'option vous donne des statistiques de lecture/écriture pour différents disques :

[tcarrigan@rhel ~]$ vmstat -d
disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
sda    17019     40 1498524   10680   4683   1050  335510    1561      0     10
sdb      105      0    6232      67      0      0       0       0      0      0
sdc      105      0    6232      59      0      0       0       0      0      0
sr0        0      0       0       0      0      0       0       0      0      0
dm-0   16677      0 1469065   12431   5713      0  336816    2485      0     10
dm-1      98      0    4440      39      0      0       0       0      0      0

Le -t L'option nous donne des informations d'horodatage avec chaque mise à jour, comme ici :

[tcarrigan@rhel ~]$ vmstat -t 5 10
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu----- -----timestamp-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st                 EDT
 1  0      0 6021412   2120 921548    0    0   118    26   62   66  1  0 99  0  0 2020-05-27 19:00:11
 0  0      0 6021300   2120 921548    0    0     0     0  349  510  1  0 99  0  0 2020-05-27 19:00:16
 0  0      0 6021272   2120 921548    0    0     0     2  196  294  0  0 100  0  0 2020-05-27 19:00:21
 0  0      0 6021272   2120 921548    0    0     0     0  110  161  0  0 100  0  0 2020-05-27 19:00:26
 0  0      0 6021272   2120 921548    0    0     0     0  112  169  0  0 100  0  0 2020-05-27 19:00:31
 0  0      0 6021272   2120 921548    0    0     0     0  171  267  0  0 99  0  0 2020-05-27 19:00:36
 0  0      0 6021188   2120 921552    0    0     0     0  201  291  0  0 99  0  0 2020-05-27 19:00:41
 0  0      0 6021188   2120 921552    0    0     0     0  152  233  0  0 100  0  0 2020-05-27 19:00:46
 2  0      0 6021188   2120 921552    0    0     0     3  127  165  0  0 100  0  0 2020-05-27 19:00:51
 0  0      0 6021188   2120 921552    0    0     0     0   95  131  0  0 100  0  0 2020-05-27 19:00:56

Vous voyez qu'il y a 10 mises à jour, imprimées toutes les cinq secondes, avec des informations d'horodatage jointes.

Veuillez également noter que toutes les statistiques de mémoire sont affichées en kilo-octets par défaut.

Résumé

Pour conclure, regardons ce que nous avons appris. Le vmstat La commande est un puissant outil de statistiques système qui peut être utilisé avec ou sans options. Il imprime les mises à jour en utilisant deux variables principales (délai et nombre), et nous pouvons personnaliser la commande et la sortie en fonction de nos besoins. J'espère que vous avez apprécié ce regard sur le vmstat commande. Je couvrirai ifstat dans un prochain article, alors gardez un œil dessus !

[ Cours en ligne gratuit :Présentation technique de Red Hat Enterprise Linux. ]


Linux
  1. Regardez les commandes et les tâches avec la commande Linux watch

  2. Envoyer des commandes à plusieurs sessions SSH avec Terminator

  3. Utilisation de la mémoire Linux

  4. Comment utiliser la commande Vmstat sous Linux expliquée avec des exemples

  5. Rechercher un fichier avec les commandes Rechercher et Localiser sous Linux

Commandes RPM sous Linux avec exemples

Commandes SSH sous Linux avec exemples d'utilisation

Tutoriel Vagrant - Premiers pas avec Vagrant sous Linux

Afficher les feuilles de triche des commandes Linux avec l'outil Tealdeer

Un guide de la commande vmstat sous Linux

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