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. ]