Παρακολούθηση απόδοσης 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
Μοιραστείτε το εάν πιστεύετε ότι αυτό το άρθρο είναι χρήσιμο μέσα από το πλαίσιο σχολίων μας παρακάτω.