Htop: Μάθε τι συμβαίνει στο Linux σύστημά σου

Htop: Μάθε τι συμβαίνει στο Linux σύστημά σου

Ποιες διεργασίες τρέχουν στο σύστημά μου; Πόση μνήμη και χρόνο από τον επεξεργαστή καταναλώνουν; Γιατί σέρνεται ο υπολογιστής μου; Αυτά είναι μερικές από τις ερωτήσεις που μπορεί να μας απαντήσει το Htop ώστε να μάθουμε τι συμβαίνει στο Linux σύστημά μας.

Το htop είναι μια διαδραστική εφαρμογή παρακολούθησης και διαχείρισης διεργασιών. Έχει σχεδιαστεί ως εναλλακτική λύση στο top που έχουμε κληρονομήσει από το Unix.

Παρουσιάζει μια λίστα των διεργασιών που εκτελούνται σε έναν υπολογιστή, διατεταγμένες ανάλογα με τη χρήση της CPU. Το htop χρησιμοποιεί χρώμα και παρέχει οπτικές πληροφορίες σχετικά με την κατάσταση επεξεργαστή, της swap και μνήμης RAM. Το htop μπορεί επίσης να εμφανίσει τις εργασίες σε δενδροειδή μορφή. Φυσικά υπάρχει μια πληθώρα εφαρμογών στο Linux που μπορούν να μας δώσουν τις ίδιες πληροφορίες, αλλά το htop έχει καταλήξει να γίνει το «de facto» εργαλείο εποπτείας πόρων και διεργασιών του συστήματος.

Htop – Διεργασίες και χρήση πόρων

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

Ας δούμε μερικές λεπτομέρειες του htop στα τμήματα από τα οποία αποτελείται αλλά και κάποιες «τεχνικές» λεπτομέρειες που θα μας κάνουν να καταλάβουμε αλλά και να εξάγουμε περισσότερες πληροφορίες για τις εφαρμογές που τρέχουμε στο Linux.

Εγκατάσταση του htop στο Linux

Το htop υπάρχει στα αποθετήρια όλων των διανομών Linux οπότε μπορείτε να το εγκαταστήσετε από τον διαχειριστή πακέτων της διανομής σας. Εναλλακτικά από τερματικό :

Ubuntu – Debian διανομές:

sudo apt install htop

Fedora – *SUSE διανομές

sudo dnf install htop

Arch διανομές:

sudo pacman -S htop
Advertisements

Htop – Τα τμήματα του

Η πρώτη διάταξη μας δείχνει την χρήση της CPU διατεταγμένη με βάση των αριθμό των πυρήνων του επεξεργαστή.

Η χρήση της CPU αλλά και των Threads
Η χρήση της CPU αλλά και των Threads

Ανάλογα με τον επεξεργαστή και τους πυρήνες, σε αυτό το σημείο μπορεί να τα βλέπετε διπλάσια σε αριθμό όταν π.χ. έχετε Intel επεξεργαστή και είναι ενεργοποιημένο το Hyper-threading.

Κάτω από τον επεξεργαστή μας παρουσιάζει την κατανάλωση της μνήμης RAM και της swap στο οποίο παρότι εμφανίζονται σε GB, στην πραγματικότητα το άθροισμά τους υπολογίζεται σε GiB.

Χρήση της RAM/Swap και το συνολικό μέγεθός της
Χρήση της RAM/Swap και το συνολικό μέγεθός της

Ο αριθμός που δείχνει ο μετρητής μνήμης RAM είναι η συνολική μνήμη που χρησιμοποιείται από τις τις διεργασίες. Παρόλα αυτά, η πρόσθετη διαθέσιμη μνήμη χρησιμοποιείται ήδη από τον πυρήνα του Linux ως προσωρινή μνήμη του δίσκου και ως cache, οπότε συνολικά σχεδόν ολόκληρη η μνήμη RAM χρησιμοποιείται από τον πυρήνα (βλέπε: Απομυθοποιώντας τη διαχείριση μνήμης στο Linux.)

Δεξιά επάνω, θα δείτε επίσης πληροφορίες για τον συνολικό αριθμό των διεργασιών, πόσες τρέχουν, αλλά και τον φόρτο του συστήματος και το πότε ήταν η τελευταία του επανεκκίνηση.

αριθμό των διεργασιών, πόσες τρέχουν, αλλά και τον φόρτο του συστήματος

Ο φόρτος του συστήματος είναι ένα πολύ χρήσιμο μέτρο το οποίο μας δείχνει τον όγκο της εργασίας που εκτελεί ο υπολογιστής. Ο μέσος όρος του (Load average) αντιπροσωπεύει το μέσο φόρτο του συστήματος για μια χρονική περίοδο.

Για παράδειγμα, αν έχουμε επεξεργαστή με έναν μόνο πυρήνα και δούμε ότι το load average είναι 1,00 τότε αυτό αντιπροσωπεύει το 100% της χρήσης του επεξεργαστή σε εκείνη την χρονική περίοδο. Αν τώρα σε αυτόν τον μονοπύρηνο επεξεργαστή δούμε έναν αριθμό πάνω από 1, αυτό σημαίνει απλά ότι οι διεργασίες έπρεπε να περιμένουν περισσότερο χρόνο για να ελευθερωθεί υπολογιστικός χρόνος της CPU. Αντίθετα, σε έναν τετραπύρηνο ο αριθμός 4.00 αντιπροσωπεύει το 100% της χρήσης του επεξεργαστή σε εκείνη την χρονική περίοδο. Οτιδήποτε κάτω από ένα μέσο όρο φόρτου 4,00 για έναν τετραπύρηνο CPU είναι μια χαρά καθώς ο φόρτος κατανέμεται στους 4 πυρήνες.

Επίσης θα παρατηρήσατε ότι, το load average αποτελείται από τρεις αριθμούς. Ο πρώτος αριθμός είναι ο μέσος φόρτος σε 1 λεπτό, ο δεύτερος σε 5 λεπτά και ο τρίτος στα 15 λεπτών. Με αυτό τον τρόπο μπορούμε να δούμε αν το σύστημά μας είχε ή έχει εδώ και ώρα υπερβολικό φόρτο από διεργασίες.

Τέλος, κάτω από όλα τα παραπάνω θα δούμε τις διεργασίες που εκτελούνται σε στήλες οι οποίες χωρίζονται ανάλογα με το τι παρουσιάζουν:

στήλες οι οποίες χωρίζονται ανάλογα με το τι παρουσιάζουν

Ακολουθεί μια λίστα που εξηγεί τι σημαίνει κάθε στήλη.

PIDΑριθμός διεργασίας
USERΣε ποιόν ανήκει η διεργασία
PRIΕπίπεδο προτεραιότητας από τον πυρήνα
NIΠροτεραιότητα που ορίζει ο χρήστης
VIRΧρησιμοποιούμενη εικονική μνήμη
RESΧρησιμοποιούμενη φυσική μνήμη
SHRΧρησιμοποιούμενη κοινόχρηστη μνήμη
SΚατάσταση διεργασίας
CPU%Χρήση CPU
MEM%Χρήση μνήμης
TIME+Χρόνος από την έναρξη της διεργασίας
CommandΠλήρης εντολή που εκτελείται

Κάνοντας κλικ σε κάθε στήλη, το htop θα αλλάξει την παρουσίαση των διεργασιών με βάση την επιλογή σας. Άρα αν κάνετε κλικ π.χ. στο MEM τότα θα φέρει πρώτο αυτό που καταναλώνει περισσότερο μνήμη κλπ.

Σε συνδυασμό τώρα με το άρθρο που αναφέραμε πιο πάνω (βλέπε: Απομυθοποιώντας τη διαχείριση μνήμης στο Linux.) εδώ θα σταθώ λίγο στην διευκρίνηση των διαφορών που σχετίζονται με τις στήλες που αφορούν την κατανάλωση μνήμης:

  • Η στήλη VIRT αντιπροσωπεύει το εικονικό μέγεθος μιας διεργασίας, το οποίο είναι το άθροισμα της μνήμης που χρησιμοποιεί στην πραγματικότητα, της μνήμη που έχει καταχωρίσει για τον εαυτό της (π.χ. η μνήμη RAM της GPU για τον X server), τα αρχεία στο δίσκο που έχουν αντιστοιχιστεί σε αυτήν (κυρίως οι κοινόχρηστες βιβλιοθήκες) και η μνήμη που μοιράζεται με άλλες διεργασίες. Με λίγα λόγια η VIRT αντιπροσωπεύει σε πόση μνήμη μπορεί να αποκτήσει πρόσβαση μια διεργασία – εφαρμογή εκείνη τη στιγμή.
  • Η στήλη RES αντιπροσωπεύει μια ακριβή αναπαράσταση της πραγματικής φυσικής μνήμης που καταναλώνει μια διεργασία. (Αυτό επίσης αντιστοιχεί άμεσα στην στήλη MEM)
  • Η στήλη SHR υποδεικνύει το πόσο από το μέγεθος της VIRT είναι πραγματικά διαθέσιμη μνήμη ή είναι βιβλιοθήκες. Στην περίπτωση των βιβλιοθηκών, δεν σημαίνει απαραίτητα ότι ολόκληρη η βιβλιοθήκη την έχει καταλάβει. Για παράδειγμα, εάν μια εφαρμογή χρησιμοποιεί μόνο μερικές λειτουργίες σε μια βιβλιοθήκη, ολόκληρη η βιβλιοθήκη έχει αντιστοιχιστεί και θα μετρηθεί σε VIRT και SHR, αλλά μόνο τα τμήματα του αρχείου της βιβλιοθήκης που περιέχουν τις λειτουργίες που θα χρησιμοποιηθούν θα φορτωθούν και θα μετρηθούν στο πλαίσιο της στήλης RES.

Τα διάφορα χρώματα του htop και τι πληροφορίες μας δίνουν

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

Χρώματα στην CPU:

  • Πράσινο: αφορά την χρήση CPU που κάνουμε εμείς
  • Μπλε: αφορά την χρήση CPU από διεργασίες χαμηλής προτεραιότητας
  • Πορτοκαλί: αφορά την χρήση CPU από αίτηση διακοπής IRQ
  • Κόκκινο: αφορά την χρήση CPU από διεργασίες του πυρήνα
  • Γκρι: αφορά την χρήση CPU από την αναμονή για I/O (είσοδο – έξοδο δεδομένων)

Χρώματα στην Μνήμη

  • Πράσινο: Χρησιμοποιούμενη μνήμη
  • Μπλε: Προσωρινή μνήμη (Buffer)
  • Κίτρινο: Κρυφή μνήμη (Cache)

Ρυθμίσεις και λειτουργίες του htop που δεν γνωρίζατε

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

  1. Μπορείτε να μετακινηθείτε στη λίστα διεργασιών χρησιμοποιώντας τα πλήκτρα βέλους από πάνω προς τα κάτω αλλά και από αριστερά προς δεξιά (π.χ. για να δείτε όλη την εντολή που τρέχει μια εφαρμογή)
  2. Μπορείτε να τερματίσετε μια διεργασία πατώντας το πλήκτρο F9
  3. Να αλλάξετε την προτεραιότητα μιας διεργασίας πιέζοντας τα πλήκτρα F7 ή F8
  4. Να προβάλετε τα ανοιχτά αρχείων που χρησιμοποιούνται από μια διεργασία πατώντας το πλήκτρο l
  5. Να προβάλετε μόνο τις διεργασίες ενός μόνο χρήστη πατώντας το πλήκτρο u
  6. Να προβάλετε τις διεργασίες σε μια δενδροειδή μορφή με το F5
  7. Να προβάλετε το μενού ρύθμισης htop με το πλήκτρο F2 όπου μπορείτε να αλλάξετε τη προβολή της μπάρας, να επιλέξετε ένα θέμα χρώματος για το htop και να επιλέξετε ποιες στήλες πρέπει να εμφανίζονται (π.χ. ένδειξη μπαταρίας λάπτοπ) για τις διεργασίες στο htop αλλά και το πως να εμφανίζονται (π.χ. γραφική παράσταση, αριθμός, κείμενο κλπ).

Επίλογος

Στο σημερινό άρθρο μάθαμε λίγο αναλυτικότερα το htop το οποίο όλοι το χρησιμοποιούν αλλά ελάχιστοι από τους απλούς χρήστες έχουν προσπαθήσει να εξάγουν χρήσιμα συμπεράσματα από τις πληροφορίες που δίνει αλλά και να το μάθουν με τρόπο που να τους είναι χρήσιμο. Ελπίζω να σας είναι χρήσιμο και περιμένω στα σχόλια τις τυχών απορίες ή και παρατηρήσεις σας.

5 σκέψεις σχετικά με το “Htop: Μάθε τι συμβαίνει στο Linux σύστημά σου

  1. Πολύ καλό και πλήρες άρθρο!
    Ευχαριστώ για τις χρήσιμες πληροφορίες
    Ενδιαφέρον θα ήταν επίσης ενα αρθρο της ίδιας μορφής για το iftop

Σου άρεσε το άρθρο; Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Google

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση /  Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση /  Αλλαγή )

Σύνδεση με %s

This site uses Akismet to reduce spam. Learn how your comment data is processed.