Θέλετε να δείτε που καταναλώνεται η μνήμη RAM του υπολογιστή σας και ποια διεργασία ή εφαρμογή σας τρώει συστηματικά τους πόρους; Υπάρχουν διάφορες λύσεις είτε από το γραφικό περιβάλλον είτε από τη γραμμή εντολών (bash) αλλά δεν συγκρίνονται μπροστά στο πανταχού παρών top.

Το table oprocesses είναι πολύ περισσότερα από ένας απλός πίνακας των προγραμμάτων που τρέχουμε. Ανανεώνεται συνεχώς και μας δείχνει uptime, κατανάλωση μνήμης, cpu load, αριθμό διεργασιών, κατανάλωση swap και αναλυτική περιγραφή κάθε διεργασίας που τρέχουμε (μνήμη, %cpu, share, niceness, user, pid, πόση ώρα τρέχει και ποια εντολή είναι!). Και όλα αυτά sortable. Για παράδειγμα για να σορτάρετε τις διεργασίες που σας δείχνει ώστε να εμφανίζονται ανάλογα με την κατανάλωση μνήμης πατάτε το πλήκτρο Μ.

To top εν δράσει!

Μια άλλη χρήσιμη εντολή για την κονσόλα/τερματικό είναι η ps. Η process snapshot δείχνει ένα στιγμιότυπο μόνο των διεργασιών που τρέχετε. Παίζει να είναι η εντολή του Linux με τις περισσότερες επιλογές σε παραμέτρους. Μάλιστα αναγνωρίζει δύο διαφορετικά είδη επιλογών: επιλογές κατά Unix (που ξεκινούν πάντα με μια παύλα) και επιλογές κατά BSD (που δεν ξεκινούν με παύλα). Με συνδυασμό αυτών των παραμέτρων έχουμε τις παρακάτω εντολές που κάνουν σχεδόν το ίδιο πράγμα: μας δείχνουν τις 10 ή 20 διεργασίες που “τρώνε” την περισσότερη μνήμη στο σύστημα ή στον server μας:

Οι 10 πιο μνημοβόρες διεργασίες (Unix style):

ps -auxf | sort -nr -k 4 | head -10

To ίδιο με πιο λιτό output:

ps aux | awk '{print $2, $4, $11}' | sort -k2r | head -n 10

Ολες οι διεργασίες από την λιγότερη στην περισσότερο μνημοβόρα (Unix style):

ps -e -orss=,args= | sort -b -k1,1n | pr -TW$COLUMNS

Οι 20 πιο μνημοβόρες διεργασίες (BSD style):

ps aux | awk '{print $2, $4, $11}' | sort -k2rn | head -n 20

To ίδιο περίπου αλλά με πιο λιτό output (BSD style). Η πρώτη στήλη είναι το ποσοστό της μνήμης που καταναλώνει η εκάστοτε εφαρμογή:

ps axo %mem,comm,pid,euser | sort -nr | head -n 20