Παρακολούθηση απόδοσης Linux με εντολές Vmstat και Iostat


Αυτή είναι η συνεχιζόμενη σειρά εντολών Linux και παρακολούθησης απόδοσης Linux. Σε αυτό το άρθρο, θα μάθετε για τις εντολές Vmstat και Iostat, οι οποίες είναι διαθέσιμες σε όλα τα κύρια Unix -όπως (Linux/Unix/FreeBSD/Solaris) Λειτουργικά Συστήματα.

Η εντολή vmstat (γνωστή και ως εργαλείο στατιστικής εικονικής μνήμης) εμφανίζει πληροφορίες σχετικά με τις διεργασίες, τη μνήμη, το δίσκο και τη δραστηριότητα της CPU στο Linux, ενώ η εντολή iostat χρησιμοποιείται για την παρακολούθηση της χρήσης της CPU , στατιστικά εισόδου/εξόδου συστήματος για όλους τους δίσκους και τα διαμερίσματα.

Εάν οι εντολές vmstat και iostat δεν είναι διαθέσιμες στον υπολογιστή σας Linux, εγκαταστήστε το πακέτο sysstat. Οι εντολές vmstat, sar, και iostat είναι η συλλογή του πακέτου που περιλαμβάνεται στο sysstat – τα εργαλεία παρακολούθησης συστήματος.

Μπορείτε να πραγματοποιήσετε λήψη και εγκατάσταση του sysstat χρησιμοποιώντας την πηγή tarball από τον σύνδεσμο sysstat, αλλά συνιστούμε να το εγκαταστήσετε μέσω του διαχειριστή πακέτων.

Εγκαταστήστε το Sysstat σε Linux

sudo apt install sysstat         [On Debian, Ubuntu and Mint]
sudo yum install sysstat         [On RHEL/CentOS/Fedora and Rocky Linux/AlmaLinux]
sudo emerge -a app-admin/sysstat [On Gentoo Linux]
sudo pacman -S sysstat           [On Arch Linux]
sudo zypper install sysstat      [On OpenSUSE]    

Μάθετε Παραδείγματα εντολών Vmstat στο Linux

Σε αυτήν την ενότητα, θα μάθετε για 6 παραδείγματα εντολών vmstat και τη χρήση με στιγμιότυπα οθόνης.

1. Καταχωρίστε την Ενεργή και την Ανενεργή Μνήμη

Στο παρακάτω παράδειγμα, υπάρχουν έξι στήλες. Η σημασία των στηλών εξηγείται λεπτομερώς στη σελίδα man του vmstat. Τα πιο σημαντικά πεδία είναι ελεύθερα στη μνήμη και si, επομένως κάτω από τη στήλη εναλλαγής.

[root@tecmint ~]# 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
 1  0      0 810420  97380  70628    0    0   115     4   89   79  1  6 90  3  0
  • Δωρεάν – Ποσότητα ελεύθερων/αδρανών χώρων μνήμης.
  • si – Ανταλλαγή σε κάθε δευτερόλεπτο από δίσκο σε KiloBytes.
  • έτσι – Εναλλάσσονται κάθε δευτερόλεπτο σε δίσκο σε KiloBytes.

Σημείωση: Εάν εκτελείτε το vmstat χωρίς παραμέτρους, θα εμφανιστεί μια συνοπτική αναφορά από την εκκίνηση του συστήματος.

2. Εκτελέστε το vmstat 'X' δευτερόλεπτα και ('Αριθμός φορών)

Με αυτήν την εντολή, το vmstat εκτελείται κάθε δύο δευτερόλεπτα και διακόπτεται αυτόματα μετά την εκτέλεση έξι διαστημάτων.

[root@tecmint ~]# vmstat 2 6

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 810420  22064 101368    0    0    56     3   50   57  0  3 95  2  0
 0  0      0 810412  22064 101368    0    0     0     0   16   35  0  0 100  0  0
 0  0      0 810412  22064 101368    0    0     0     0   14   35  0  0 100  0  0
 0  0      0 810412  22064 101368    0    0     0     0   17   38  0  0 100  0  0
 0  0      0 810412  22064 101368    0    0     0     0   17   35  0  0 100  0  0
 0  0      0 810412  22064 101368    0    0     0     0   18   36  0  1 100  0  0

3. Vmstat με Timestamps

Η εντολή vmstat με την παράμετρο -t εμφανίζει χρονικές σημάνσεις με κάθε γραμμή που εκτυπώνεται όπως φαίνεται παρακάτω.

[tecmint@tecmint ~]$ vmstat -t 1 5

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------ ---timestamp---
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 632028  24992 192244    0    0    70     5   55   78  1  3 95  1  0        2012-09-02 14:57:18 IST
 1  0      0 632028  24992 192244    0    0     0     0  171  514  1  5 94  0  0        2012-09-02 14:57:19 IST
 1  0      0 631904  24992 192244    0    0     0     0  195  600  0  5 95  0  0        2012-09-02 14:57:20 IST
 0  0      0 631780  24992 192244    0    0     0     0  156  524  0  5 95  0  0        2012-09-02 14:57:21 IST
 1  0      0 631656  24992 192244    0    0     0     0  189  592  0  5 95  0  0        2012-09-02 14:57:22 IST

4. Στατιστικά Διάφορων Μετρητών

Η εντολή vmstat με διακόπτη -s εμφανίζει σύνοψη διαφόρων μετρητών συμβάντων και στατιστικών στοιχείων μνήμης.

[tecmint@tecmint ~]$ vmstat -s

      1030800  total memory
       524656  used memory
       277784  active memory
       185920  inactive memory
       506144  free memory
        26864  buffer memory
       310104  swap cache
      2064376  total swap
            0  used swap
      2064376  free swap
         4539 non-nice user cpu ticks
            0 nice user cpu ticks
        11569 system cpu ticks
       329608 idle cpu ticks
         5012 IO-wait cpu ticks
           79 IRQ cpu ticks
           74 softirq cpu ticks
            0 stolen cpu ticks
       336038 pages paged in
        67945 pages paged out
            0 pages swapped in
            0 pages swapped out
       258526 interrupts
       392439 CPU context switches
   1346574857 boot time
         2309 forks

5. Παρακολούθηση στατιστικών δίσκων Linux

Το vmstat με την επιλογή -d εμφανίζει όλα τα στατιστικά στοιχεία των δίσκων του Linux.

[tecmint@tecmint ~]$ vmstat -d

disk- ------------reads------------ ------------writes----------- -----IO------
       total merged sectors      ms  total merged sectors      ms    cur    sec
ram0       0      0       0       0      0      0       0       0      0      0
ram1       0      0       0       0      0      0       0       0      0      0
ram2       0      0       0       0      0      0       0       0      0      0
ram3       0      0       0       0      0      0       0       0      0      0
ram4       0      0       0       0      0      0       0       0      0      0
ram5       0      0       0       0      0      0       0       0      0      0
ram6       0      0       0       0      0      0       0       0      0      0
ram7       0      0       0       0      0      0       0       0      0      0
ram8       0      0       0       0      0      0       0       0      0      0
ram9       0      0       0       0      0      0       0       0      0      0
ram10      0      0       0       0      0      0       0       0      0      0
ram11      0      0       0       0      0      0       0       0      0      0
ram12      0      0       0       0      0      0       0       0      0      0
ram13      0      0       0       0      0      0       0       0      0      0
ram14      0      0       0       0      0      0       0       0      0      0
ram15      0      0       0       0      0      0       0       0      0      0
loop0      0      0       0       0      0      0       0       0      0      0
loop1      0      0       0       0      0      0       0       0      0      0
loop2      0      0       0       0      0      0       0       0      0      0
loop3      0      0       0       0      0      0       0       0      0      0
loop4      0      0       0       0      0      0       0       0      0      0
loop5      0      0       0       0      0      0       0       0      0      0
loop6      0      0       0       0      0      0       0       0      0      0
loop7      0      0       0       0      0      0       0       0      0      0
sr0        0      0       0       0      0      0       0       0      0      0
sda     7712   5145  668732  409619   3282  28884  257402  644566      0    126
dm-0   11578      0  659242 1113017  32163      0  257384 8460026      0    126
dm-1     324      0    2592    3845      0      0       0       0      0      2

6. Εμφάνιση στατιστικών σε Megabyte

Το vmstat εμφανίζει στατιστικά στοιχεία μνήμης σε kilobyte από προεπιλογή, αλλά μπορείτε επίσης να εμφανίσετε αναφορές με μεγέθη μνήμης σε megabyte με το όρισμα -S M. Εξετάστε το ακόλουθο παράδειγμα.

[root@tecmint ~]# vmstat -S M 1 5

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0    346     53    476    0    0    95     8   42   55  0  2 96  2  0
 0  0      0    346     53    476    0    0     0     0   12   15  0  0 100  0  0
 0  0      0    346     53    476    0    0     0     0   32   62  0  0 100  0  0
 0  0      0    346     53    476    0    0     0     0   15   13  0  0 100  0  0
 0  0      0    346     53    476    0    0     0     0   34   61  0  1 99  0  0

Μάθετε Παραδείγματα Εντολών Iostat στο Linux

Σε αυτήν την ενότητα, θα μάθετε για 6 παραδείγματα εντολών iostat και τη χρήση με στιγμιότυπα οθόνης.

7. Εμφάνιση στατιστικών CPU και I/O των δίσκων

Το iostat χωρίς ορίσματα εμφανίζει στατιστικά στοιχεία CPU και I/O όλων των κατατμήσεων όπως φαίνεται παρακάτω.

[root@tecmint ~]# iostat

Linux 2.6.32-279.el6.i686 (linux-console.net)         09/03/2012      _i686_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.12    0.01    1.54    2.08    0.00   96.24

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               3.59       161.02        13.48    1086002      90882
dm-0              5.76       159.71        13.47    1077154      90864
dm-1              0.05         0.38         0.00       2576          0

8. Εμφανίζει στατιστικά στοιχεία CPU Linux

Το iostat με ορίσματα -c εμφανίζει μόνο στατιστικά στοιχεία CPU όπως φαίνεται παρακάτω.

[root@tecmint ~]# iostat -c

Linux 2.6.32-279.el6.i686 (linux-console.net)         09/03/2012      _i686_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.12    0.01    1.47    1.98    0.00   96.42

9. Εμφανίζει στατιστικά στοιχεία εισόδου/εξόδου δίσκων Linux

Το iostat με ορίσματα -d εμφανίζει μόνο στατιστικά στοιχεία δίσκου I/O όλων των κατατμήσεων όπως φαίνεται.

[root@tecmint ~]# iostat -d

Linux 2.6.32-279.el6.i686 (linux-console.net)         09/03/2012      _i686_  (1 CPU)

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               3.35       149.81        12.66    1086002      91746
dm-0              5.37       148.59        12.65    1077154      91728
dm-1              0.04         0.36         0.00       2576          0

10. Εμφανίζει στατιστικά I/O για συγκεκριμένη συσκευή

Από προεπιλογή, εμφανίζει στατιστικά στοιχεία όλων των κατατμήσεων, με τα ορίσματα -p και τα ορίσματα ονόματος συσκευής εμφανίζουν μόνο τους δίσκους I/O στατιστικά μόνο για συγκεκριμένη συσκευή, όπως φαίνεται.

[root@tecmint ~]# iostat -p sda

Linux 2.6.32-279.el6.i686 (linux-console.net)         09/03/2012      _i686_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.11    0.01    1.44    1.92    0.00   96.52

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               3.32       148.52        12.55    1086002      91770
sda1              0.07         0.56         0.00       4120         18
sda2              3.22       147.79        12.55    1080650      91752

11. Εμφάνιση στατιστικών LVM

Με την παράμετρο -N (κεφαλαία) εμφανίζονται μόνο τα στατιστικά LVM όπως φαίνεται.

[root@tecmint ~]# iostat -N

Linux 2.6.32-279.el6.i686 (linux-console.net)         09/03/2012      _i686_  (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.11    0.01    1.39    1.85    0.00   96.64

Device:            tps   Blk_read/s   Blk_wrtn/s   Blk_read   Blk_wrtn
sda               3.20       142.84        12.16    1086002      92466
vg_tecmint-lv_root     5.13       141.68        12.16    1077154      92448
vg_tecmint-lv_swap     0.04         0.34         0.00       2576          0

12. Ελέγξτε την έκδοση Iostat

Με -V (κεφαλαία) την έκδοση παραμέτρων εμφάνισης του iostat όπως φαίνεται.

[root@tecmint ~]# iostat -V

sysstat version 11.7.3
(C) Sebastien Godard (sysstat  orange.fr)

Το vmstat και το iostat περιέχουν έναν αριθμό στηλών και σημαιών που ενδέχεται να μην είναι δυνατό να εξηγηθούν λεπτομερώς. Εάν θέλετε να μάθετε περισσότερα σχετικά με αυτό, μπορείτε να ανατρέξετε στη σελίδα χρήστη του vmstat και του iostat.

man vmstat
man iostat

Μοιραστείτε το εάν πιστεύετε ότι αυτό το άρθρο είναι χρήσιμο μέσα από το πλαίσιο σχολίων μας παρακάτω.