Αυτό το άρθρο είναι ένα άρθρο καθρέφτη της αυτόματης μετάφρασης, κάντε κλικ εδώ για να μεταβείτε στο αρχικό άρθρο.

Άποψη: 9822|Απάντηση: 1

Λεπτομερής επεξήγηση της εντολής Linux vmstat στην πράξη

[Αντιγραφή συνδέσμου]
Δημοσιεύτηκε στις 19/10/2014 7:36:48 μ.μ. | | |

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

Γενικά, η χρήση του εργαλείου vmstat γίνεται μέσω δύο αριθμητικών παραμέτρων, η πρώτη παράμετρος είναι ο αριθμός των χρονικών διαστημάτων δειγματοληψίας, η μονάδα είναι δευτερόλεπτα και η δεύτερη παράμετρος είναι ο αριθμός των δειγμάτων, όπως:


root@ubuntu:~# vmstat 2 1
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd δωρεάν buff cache si so bi bo in cs us sy id wa
1  0      0 3498472 315836 3819540    0    0     0     1    2    0  0  0 100  0

Το 2 σημαίνει ότι η κατάσταση διακομιστή συλλέγεται μία φορά κάθε δύο δευτερόλεπτα και το 1 σημαίνει ότι η κατάσταση διακομιστή συλλέγεται μόνο μία φορά.

Στην πραγματικότητα, κατά τη διαδικασία υποβολής αιτήσεων, θα παρακολουθούμε για κάποιο χρονικό διάστημα και αν δεν θέλουμε να το παρακολουθούμε, μπορούμε απλώς να τερματίσουμε απευθείας το vmstat, για παράδειγμα:


root@ubuntu:~# vmstat 2  
procs -----------memory---------- ---swap-- -----io---- -system-- ----cpu----
r b swpd δωρεάν buff cache si so bi bo in cs us sy id wa
1  0      0 3499840 315836 3819660    0    0     0     1    2    0  0  0 100  0
0  0      0 3499584 315836 3819660    0    0     0     0   88  158  0  0 100  0
0  0      0 3499708 315836 3819660    0    0     0     2   86  162  0  0 100  0
0  0      0 3499708 315836 3819660    0    0     0    10   81  151  0  0 100  0
1  0      0 3499732 315836 3819660    0    0     0     2   83  154  0  0 100  0

Αυτό σημαίνει ότι το vmstat συλλέγει δεδομένα κάθε 2 δευτερόλεπτα και συνεχίζει μέχρι να τελειώσω το πρόγραμμα και να τερματίσω το πρόγραμμα αφού συλλέξω δεδομένα 5 φορές εδώ.

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

rΣημαίνει ότι τρέχετε την ουρά (δηλαδή πόσες διεργασίες έχουν πραγματικά εκχωρηθεί στην CPU), ο διακομιστής που δοκίμασα είναι επί του παρόντος σχετικά αδρανής, δεν εκτελούνται προγράμματα, όταν αυτή η τιμή υπερβαίνει τον αριθμό των CPU, θα υπάρχει συμφόρηση CPU. Αυτό σχετίζεται επίσης με το φορτίο της κορυφής, γενικά το φορτίο είναι υψηλότερο εάν υπερβαίνει το 3, είναι υψηλότερο εάν υπερβαίνει το 5 και εάν υπερβαίνει το 10, δεν είναι φυσιολογικό και η κατάσταση του διακομιστή είναι πολύ επικίνδυνη. Το φορτίο της κορυφής είναι παρόμοιο με αυτό μιας ουράς τρεξίματος ανά δευτερόλεπτο. Εάν η ουρά που εκτελείται είναι πολύ μεγάλη, σημαίνει ότι η CPU σας είναι απασχολημένη, κάτι που συνήθως προκαλεί υψηλή χρήση της CPU.

bΣημαίνει την μπλοκαρισμένη διαδικασία, αυτό δεν είναι πολύ να το πω, η διαδικασία είναι μπλοκαρισμένη, όλοι καταλαβαίνουν.

SWPDΕάν το μέγεθος της εικονικής μνήμης που χρησιμοποιείται είναι μεγαλύτερο από 0, αυτό σημαίνει ότι το μηχάνημά σας δεν έχει επαρκή φυσική μνήμη και εάν δεν είναι η αιτία της διαρροής μνήμης του προγράμματος, τότε είναι καιρός να αναβαθμίσετε τη μνήμη ή να μετεγκαταστήσετε τις εργασίες που καταναλώνουν μνήμη σε άλλο μηχάνημα.

Δωρεάν   Το μέγεθος της ελεύθερης φυσικής μνήμης, η μνήμη του μηχανήματος μου είναι 8G συνολικά και τα υπόλοιπα 3415M.

Ενίσχυση   Το σύστημα Linux/Unix χρησιμοποιείται για αποθήκευση, τι περιεχόμενο στον κατάλογο, δικαιώματα κ.λπ.

κρύπτηΗ προσωρινή μνήμη χρησιμοποιείται απευθείας για να θυμόμαστε τα αρχεία που ανοίγουμε, να αποθηκεύουμε τα αρχεία, καταλαμβάνω περισσότερα από 300 εκατομμύρια στο δικό μου μηχάνημα (εδώ είναι το έξυπνο πράγμα του Linux/Unix, πάρτε μέρος της ελεύθερης φυσικής μνήμης για προσωρινή αποθήκευση αρχείων και καταλόγων, προκειμένου να βελτιωθεί η απόδοση της εκτέλεσης του προγράμματος, όταν το πρόγραμμα χρησιμοποιεί μνήμη, το buffer/cached θα χρησιμοποιηθεί γρήγορα.) )

si  Εάν αυτή η τιμή είναι μεγαλύτερη από 0, σημαίνει ότι η φυσική μνήμη δεν είναι αρκετή ή ότι η μνήμη έχει διαρρεύσει. Το μηχάνημά μου έχει αρκετή μνήμη και όλα είναι καλά.

Έτσι  Το μέγεθος του δίσκου που εγγράφεται στην εικονική μνήμη ανά δευτερόλεπτο, εάν αυτή η τιμή είναι μεγαλύτερη από 0, το ίδιο με το παραπάνω.

ΒΙ  εξοπλισμός μπλοκΟ αριθμός των μπλοκ που λαμβάνονται ανά δευτερόλεπτο, εδώ η συσκευή μπλοκ αναφέρεται σε όλους τους δίσκους και άλλες συσκευές μπλοκ στο σύστημα, το προεπιλεγμένο μέγεθος μπλοκ είναι 1024 byte, δεν έχω καμία λειτουργία IO στο μηχάνημα, επομένως ήταν πάντα 0, αλλά το έχω δει σε μηχανήματα που χειρίζονται μεγάλες ποσότητες δεδομένων (2-3T) μπορεί να φτάσει τα 140000/s και η ταχύτητα εγγραφής του δίσκου είναι σχεδόν 140 M ανά δευτερόλεπτο

ΜποΟ αριθμός των μπλοκ που αποστέλλονται ανά δευτερόλεπτο από μια συσκευή μπλοκ, για παράδειγμα, όταν διαβάζουμε ένα αρχείο, το bo είναι μεγαλύτερο από 0. Τα bi και bo είναι γενικά κοντά στο 0, διαφορετικά το IO είναι πολύ συχνό και πρέπει να προσαρμοστεί.

ΣεΟ αριθμός των διακοπών ανά δευτερόλεπτο της CPU, συμπεριλαμβανομένων των χρονικών διακοπών

csΟ αριθμός των διακοπτών περιβάλλοντος ανά δευτερόλεπτο, για παράδειγμα, όταν καλούμε μια συνάρτηση συστήματος, πρέπει να αλλάξουμε περιβάλλοντα και εναλλαγή νήματοςΠλαίσιο διαδικασίαςΓια παράδειγμα, σε διακομιστές ιστού όπως ο Apache και ο nginx, γενικά κάνουμε δοκιμές απόδοσης με χιλιάδες ή και δεκάδες χιλιάδες ταυτόχρονες λειτουργίες και η διαδικασία επιλογής διακομιστή ιστού μπορεί να μειωθεί κατά την κορυφή της διαδικασίας ή του νήματος, stress test, έως ότου cs σε σχετικά μικρή τιμή, ο αριθμός των διεργασιών και των νημάτων είναι πιο κατάλληλη τιμή. Οι κλήσεις συστήματος είναι επίσης οι ίδιες, κάθε φορά που καλείται μια συνάρτηση συστήματος, ο κώδικάς μας θα εισέρχεται στο χώρο του πυρήνα, με αποτέλεσμα την εναλλαγή περιβάλλοντος, η οποία καταναλώνει πολύ πόρους και θα πρέπει να προσπαθήσουμε να αποφύγουμε τις συχνές κλήσεις σε λειτουργίες συστήματος. Πάρα πολλοί διακόπτες περιβάλλοντος σημαίνουν ότι το μεγαλύτερο μέρος της CPU σας σπαταλάται στην εναλλαγή περιβάλλοντος, με αποτέλεσμα λιγότερο χρόνο για την CPU να κάνει σοβαρά πράγματα και η CPU δεν χρησιμοποιείται πλήρως, κάτι που δεν συνιστάται.

εμάςχρήστηςΧρόνος CPUΚάποτε είδα ότι το us ήταν κοντά στο 100 και η ουρά εκτέλεσης r έφτασε το 80 σε έναν διακομιστή που έκανε κρυπτογράφηση και αποκρυπτογράφηση πολύ συχνά (το μηχάνημα υποβλήθηκε σε τεστ αντοχής και η απόδοση δεν ήταν καλή).

ΣΥΕάν ο χρόνος CPU του συστήματος είναι πολύ υψηλός, σημαίνει ότι οι κλήσεις συστήματος είναι μεγάλες, όπως συχνές λειτουργίες IO.

αναγνωριστικό  Χρόνος αδράνειας CPU, γενικά μιλώντας, id + us + sy = 100, γενικά νομίζω ότι το id είναι η χρήση της CPU σε αδράνεια, το us είναι η χρήση της CPU του χρήστη, το sy είναι η χρήση της CPU του συστήματος.

Κ.Β.Περιμένετε την ώρα της CPU IO.







Προηγούμενος:Χαριτωμένο
Επόμενος:Η παραλία είναι ωραία
Δημοσιεύτηκε στις 19/10/2014 7:40:57 μ.μ. |
Δεν μπορώ να καταλάβω
Αποκήρυξη:
Όλο το λογισμικό, το υλικό προγραμματισμού ή τα άρθρα που δημοσιεύονται από το Code Farmer Network προορίζονται μόνο για μαθησιακούς και ερευνητικούς σκοπούς. Το παραπάνω περιεχόμενο δεν θα χρησιμοποιηθεί για εμπορικούς ή παράνομους σκοπούς, άλλως οι χρήστες θα υποστούν όλες τις συνέπειες. Οι πληροφορίες σε αυτόν τον ιστότοπο προέρχονται από το Διαδίκτυο και οι διαφορές πνευματικών δικαιωμάτων δεν έχουν καμία σχέση με αυτόν τον ιστότοπο. Πρέπει να διαγράψετε εντελώς το παραπάνω περιεχόμενο από τον υπολογιστή σας εντός 24 ωρών από τη λήψη. Εάν σας αρέσει το πρόγραμμα, υποστηρίξτε γνήσιο λογισμικό, αγοράστε εγγραφή και λάβετε καλύτερες γνήσιες υπηρεσίες. Εάν υπάρχει οποιαδήποτε παραβίαση, επικοινωνήστε μαζί μας μέσω email.

Mail To:help@itsvse.com