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

From KDE UserBase Wiki
Revision as of 18:57, 24 January 2013 by Dimkard (talk | contribs) (Created page with "Ειδικότερα, η λίστα των διεργασιών αποτελεί ανάλυση του <code>/proc/pid/stat</code> ενώ οι <menuchoice>Λεπτομερεί...")

Εισαγωγή

Η Δραστηριότητα συστήματος' είναι παρόμοια με τον 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 και έτσι φορτώνονται στη μνήμη μόνο μια φορά.

From KDE SC 4.4, you can right-click on a process and view the Detailed Memory Information for the process to get more accurate readings.

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

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

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

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

How do I view more Detailed Memory Information about a process?

From KDE SC 4.4 you will be able to select a process in the table, right click on the process, and choose Detailed memory Information, and get something like:



Why do values in Detailed Memory Information not match the process list?

The process list in System Activity is using an approximation to gather the values. The Detailed Memory Information gives more accurate values.

Why is the "Xorg" process using so much memory?

This is the process that displays all the other applications. Its memory usage includes all the memory used on the video card to store all the pixmaps (images) from applications.

In general you do not need to worry about the memory usage of Xorg.

How do I see the PID of a process?

If you want to see the PID of a single process, hover the mouse cursor over the name of the process. The PID will be shown in the tooltip.

If you want to see the PID of all the processes, right click on any column heading and you will see the menu:


Choose Show Column 'pid'.


Can System Activity show the I/O Hard Disk usage, like iotop?

Right click on the column headings, and choose Show Column IO Read and again for Show Column IO Write. It will now show the amount of data being sent to or from the hard disk.

By right clicking on the column header you can chose whether you want to view the actual amount of data being written or read from the hard disk (the default), or whether you are interested in seeing how much data the application is sending or requesting from a file.

Data requested and actual data read from the hard disk are not equivalent - for example, if two applications read from the same file the operating system does not need to read from the actual hard disk twice - it can just read it once and remember it for a short while. Similarly, if one process writes to a file, but then another process writes over the top of that same file, there's no point writing the first version of the file to the actual hard disk.


Why are some processes grayed out?

For example the process xclock:



This means that the process has already died. It is shown as a disabled process just for convenience to make it easier to see processes that are quit. The values for the CPU usage, Memory usage, etc are just the values from when the process was last seen alive. A process that has ended does not take up any resources (it uses no CPU, memory etc).

What are all of these processes owned by root and taking up no memory?

These are kernel threads. They exist only inside the kernel, and exist to allow the kernel to perform multiple tasks in parallel.

They are shown because occasionally they can be a cause of heavy CPU usage. For example, under a heavy load, and with bad drivers, a network card can produce a huge number of interrupts, resulting in a high CPU usage in the ksoftirqd kernel thread.

Likewise, a high CPU usage in kjournald can indicate that DMA transfer is not enabled on the hard disk.

Why do I have so many processes?

A normal average-user system has around 150 to 200 processes with strange sounding names. It would be nice to setup a wiki page giving a short description of each of these processes, but so far nobody has done this.

Why is OpenOffice.org not showing up as a graphical program?

Before version 3.3, OpenOffice.org did not correctly implement the window standards. Specifically, their windows did not set _NET_WM_PID to link the windows to the process. This is now fixed in OpenOffice.org 3.3.

Why is gvim showing up strangely as a graphical program?

This is a fault with the GVim program. GVim does not correctly implement the window standards. Specifically, when it starts up it forks a new process to avoid hanging the shell that it ran from. But it sets the _NET_WIN_PID property to the previous PID. The authors have been notified but have not fixed this yet.