Δραστηριότητα συστήματος

From KDE UserBase Wiki
Revision as of 20:14, 17 February 2013 by Dimkard (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Εισαγωγή

Η Δραστηριότητα συστήματος είναι παρόμοια με τον Task Manager των Microsoft Windows, το Activity Monitor του Mac OS X της Apple και το System Monitor του Gnome. Εμφανίζεται πατώντας τη συντόμευση Ctrl + Esc ή κάνοντας κλικ στο εικονίδιο Δραστηριότητα συστήματος, στο παράθυρο του KRunner, ο οποίος εμφανίζεται με τη συντόμευση (Alt + F2).

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



Γενικές συμβουλές

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

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



Γιατί το σύστημά μου αυτή τη στιγμή πηγαίνει αργά;

Ένα σύστημα μπορεί να πηγαίνει αργά γιατί μια διεργασία (πρόγραμμα) απαιτεί όλη την υπολογιστική ισχύ (χρήση επεξεργαστή) ή χρησιμοποιεί όλη τη μνήμη του υπολογιστή.

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



Σε αυτό το παράδειγμα,ο Firefox έχει σταματήσει να ανταποκρίνεται και καταναλώνει το 99% του επεξεργαστή. Για να τερματίσετε μια διεργασία που δε συμπεριφέρεται σωστά, κάντε κλικ στη διεργασία για να την επιλέξετε και πατήστε το κουμπί Τερματισμός διεργασίας.... Έτσι θα αποσταλεί ένα ευγενικό αίτημα στη διεργασία για να τερματίσει.

Δε μπορώ να τη σκοτώσω - απλά δε θα πεθάνει!

Ευτυχώς αρκετά σπάνια, αλλά μπορεί περιστασιακά να συναντήσετε κάτι τέτοιο. Αν η διεργασία δε συμπεριφέρεται σωστά ενδέχεται να αγνοήσει το αίτημά σας κι έτσι μπορεί να χρειαστεί να αναγκάσετε το πρόγραμμά σας να τερματίσει άμεσα. Κάνοντας κάτι τέτοιο μπορεί να χάσετε για παράδειγμα έγγραφα που το πρόγραμμα έχει ανοίξει αλλά δεν έχει αποθηκεύσει. Για να το κάνετε αυτό, κάντε δεξί κλικ στη διεργασία και επιλέξτεΑποστολή σήματος και μετά επιλέξτεΣκότωμα (KILL).

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

Διεργασίες zombie

Οι διεργασίες οι οποίες είναι σε κατάσταση Zombie είναι ήδη νεκρές, έτσι δε μπορούν να σκοτωθούν. Το σύστημα τις αφήνει να περιφέρονται μέχρι η γονική διεργασία να το προσέξει, που συνιστά συνήθως ένα μικρό χρονικό διάστημα. Το να δείτε μια διεργασία zombie συνήθως σημαίνει ότι η γονική διεργασία έχει σταματήσει να ανταποκρίνεται.

Στοχεύοντας στο σκότωμα ενός παραθύρου

Αν θέλετε να σκοτώσετε ένα συγκεκριμένο παράθυρο που έχει κολλήσει, απλά πατήστε Ctrl + Alt + Esc οποιαδήποτε στιγμή. Ο δείκτης του ποντικιού θα μετατραπεί σε μια εικόνα νεκροκεφαλής. Τώρα κάντε κλικ πάνω στο παράθυρο που θέλετε να σκοτώσετε. Σημειώστε ότι έτσι θα τερματίσετε άμεσα την εφαρμογή και πιθανώς να χάσετε τυχόν μη αποθηκευμένα δεδομένα.

Ποια η διαφορά μεταξύ Μνήμης και Κοινόχρηστης μνήμης;

Η στήλη Μνήμη δείχνει προσεγγιστικά το ποσό της μνήμης RAM που χρησιμοποιεί ιδιωτικά η διεργασία για τον εαυτό της. Η στήλη Κοινόχρηστη μνήμη είναι μια προσέγγιση της μνήμης που χρησιμοποιείται ή θα μπορούσε να χρησιμοποιείται από κοινού με άλλα προγράμματα. Για παράδειγμα, οι βιβλιοθήκες το KDE χρησιμοποιούνται από όλα τα προγράμματα του KDE και έτσι φορτώνονται στη μνήμη μόνο μια φορά.

Τεχνικές πληροφορίες

Η στήλη "Μνήμη" δείχνει την τιμή VmRSS - Κοινόχρηστη κι έτσι έχει γενικά χαμηλότερες τιμές από αυτές που εμφανίζουν εντολές σαν την top. Η στήλη δε συμπεριλαμβάνει σελίδες μνήμης υποστηριγμένες από είσοδο/έξοδο κι επίσης τη μνήμη που χρησιμοποιείται από τον διακομιστή Χ για να αποθηκεύσει τα pixmap που χρησιμοποιεί η εφαρμογή. Η τιμή αυτή συχνά καλείται και Unique RSS μέγεθος ή URSS. Αυτή είναι η κατά προσέγγιση ιδιωτική χρήση μνήμης που εμφανίζεται στις Λεπτομερείς πληροφορίες μνήμης.

Η Κοινόχρηστη μνήμη είναι η ίδια με αυτή της στήλης SHR της εντολής top και μπορεί να είναι κάπως ανακριβής. Είναι κατά προσέγγιση και η τιμή που εμφανίζεται ως χρήση Κοινόχρηστης μνήμης στις Λεπτομερείς πληροφορίες μνήμης.

Ειδικότερα, η λίστα των διεργασιών αποτελεί ανάλυση του /proc/pid/stat ενώ οι Λεπτομερείς πληροφορίες μνήμης του /proc/pid/smaps.

Πώς μπορώ να δω πιο λεπτομερείς πληροφορίες για τη μνήμη που σχετίζεται με μια διεργασία;

Από το KDE SC 4.4, μπορείτε να επιλέξετε μια διεργασία, να κάνετε δεξί κλικ σε αυτή και να επιλέξετε Λεπτομερείς πληροφορίες μνήμης, με αποτέλεσμα κάτι σαν το παρακάτω:



Γιατί οι τιμές στις Λεπτομερείς πληροφορίες μνήμης δεν ταιριάζουν με αυτές της λίστας των διεργασιών;

Η λίστα των διεργασιών της Δραστηριότητας συστήματος χρησιμοποιεί ένα προσεγγιστικό υπολογισμό για τη συλλογή των τιμών. Οι Λεπτομερείς πληροφορίες μνήμης δίνουν πιο ακριβείς τιμές.

Γιατί η διεργασία "Xorg" καταναλώνει τόση πολλή μνήμη;

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

Γενικά δε χρειάζεται να ανησυχείτε για τη χρήση της μνήμης που κάνει ο Xorg.

Πώς βλέπω το PID μιας διεργασίας;

Αν θέλετε να δείτε το PID μιας και μόνο διεργασίας, περάστε με το ποντίκι πάνω από τη διεργασία. Το PID θα εμφανιστεί στην υπόδειξη.

Αν θέλετε να δείτε τα PID όλων των διεργασιών, κάντε δεξί κλικ σε οποιαδήποτε στήλη της επικεφαλίδας και θα δείτε το μενού:


Επιλέξετε Εμφάνιση στήλης 'PID'.

Μπορεί η Δραστηριότητα συστήματος να εμφανίσει τη χρήση E/E του Σκληρού δίσκου, όπως η εντολή iotop;

Κάντε δεξί κλικ στις επικεφαλίδες των στηλών και επιλέξτε Εμφάνιση στήλης Ανάγνωση Ει/Εξ και το ίδιο επιλέγοντας Εμφάνιση στήλης Εγγραφή Ει/Εξ. Έτσι θα προβληθεί η ποσότητα των δεδομένων που στέλνονται από και προς το σκληρό δίσκο.

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

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

Γιατί μερικές διεργασίες εμφανίζονται γκριζαρισμένες;

Για παράδειγμα η διεργασία xclock:



Αυτό σημαίνει ότι η διεργασία έχει ήδη πεθάνει. Εμφανίζεται σαν απενεργοποιημένη διεργασία απλά για να καθίσταται ευκολότερη η εύρεση διεργασιών που έχουν εγκαταλείψει. Η τιμές για τη χρήση του επεξεργαστή, της μνήμης κτλ είναι οι τιμές που είχε όταν η διεργασία εμφανίστηκε ζωντανή για τελευταία φορά. Μια τερματισμένη διεργασία δεν καταναλώνει πόρους (επεξεργαστική ισχύ, μνήμη, κλπ)

Τι είναι όλες αυτές οι διεργασίες του root που δεν καταλαμβάνουν καθόλου μνήμη;

Είναι τα νήματα του πυρήνα. Υπάρχουν μόνο στο εσωτερικό του πυρήνα ώστε να του επιτρέπουν να εκτελεί πολλαπλές διεργασίες ταυτόχρονα.

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

Αντίστοιχα, υψηλή χρήση επεξεργαστή από την kjournald μπορεί να αποτελεί ένδειξη ότι η μεταφορά DMA δεν είναι ενεργοποιημένη στον σκληρό δίσκο.

Γιατί έχω τόσες πολλές διεργασίες;

Το σύστημα ενός μέσου χρήστη έχει κάπου μεταξύ 150 και 200 διεργασίες με παράξενα ονόματα. Θα ήταν καλό να είχαμε μια wiki σελίδα με μια μικρή περιγραφή αυτών των διεργασιών αλλά κανείς ως τώρα δεν το έχει κάνει.

Γιατί το OpenOffice.org δεν εμφανίζεται σαν πρόγραμμα του γραφικού περιβάλλοντος;

Πριν την έκδοση 3.3, το OpenOffice.org δεν υλοποιούσε με σωστό τρόπο τα παραθυρικά πρότυπα. Ειδικότερα, στα παράθυρά του δεν οριζόταν το _NET_WM_PID για να συνδεθεί το παράθυρο με τη διεργασία. Αυτό έχει λυθεί από το OpenOffice.org 3.3.

Γιατί το gvim εμφανίζεται περιέργως ως πρόγραμμα του γραφικού περιβάλλοντος;

Αυτό αποτελεί σφάλμα του GVim. Το GVim δεν υλοποιεί σωστά τα παραθυρικά πρότυπα. Ειδικότερα, όταν ξεκινά διακλαδώνεται σε μια νέα διεργασία για να αποφύγει να κρεμάσει το κέλυφος από το οποίο εκτελέστηκε. Αλλά θέτει το _NET_WIN_PID με το προηγούμενο PID. Οι συγγραφείς έχουν ενημερωθεί αλλά το σφάλμα δεν έχει διορθωθεί ακόμα.