Kernel swappiness και απόδοση

Giorgos Keramidas keramida at ceid.upatras.gr
Mon Feb 19 15:19:21 EET 2007


On 2007-02-19 13:28, Θοδωρής Λύτρας <aspirin at myrealbox.com> wrote:
> > Γενικά, στο page replacement υπάρχουν δυο ακραίες καταστάσεις, μεταξύ
> > των οποίων πρέπει να ισορροπήσει ο πυρήνας:
> >
> >   - Οι σελίδες της φυσικής μνήμης δε γίνονται ποτέ swap out.  Σε αυτή
> >     την περίπτωση, η ταχύτητα και απόδοση των processes που τρέχουν
> >     είναι όσο πιο καλή γίνεται, αλλά δε μπορείς να τρέξεις ταυτόχρονα
> >     περισσότερα προγράμματα από αυτά που χωράνε 100% στη φυσική μνήμη.
> >
> >   - Οι σελίδες της φυσικής μνήμης γίνονται swap out τόσο συχνά, που οι
> >     διεργασίες είναι το 100% του χρόνου τους blocked, καθώς περιμένουν
> >     να βρεθεί μια σελίδα μνήμης για να γίνει page-in η σελίδα φυσικής
> >     μνήμης που θέλουν να χρησιμοποιήσουν αυτή τη στιγμή.
> > [...]
>
> Ευχαριστώ Γιώργο, ήσουν ιδιαίτερα κατατοπιστικός. Απ'ότι καταλαβαίνω
> τελικά όλα εξαρτώνται από το κάθε επιμέρους σενάριο χρήσης.
> 
> Σκέφτομαι πάντως το εξής, και plz διόρθωσέ με αν κάνω λάθος: Οι
> εφαρμογές που χρησιμοποιώ, ακόμη και όλες μαζί αν τις ανοίξω, λίγες
> φορές ξεπερνούνε το 0.5GB (στο μέλλον -λέγε με KDE4- άντε το πολύ πολύ
> να φτάσουν το 1GB, σωστά?). Επομένως άμα βάλω 2GB, το 1+ θα πάει για
> cache του δίσκου. Όμως αυτό είναι super-υπέρ-αρκετό για το δίσκο,
> έτσι?

Οχι απαραίτητα.  Εξαρτάται όπως από το σενάριο χρήσης, όπως λες.

Για παράδειγμα, όταν κάνω build το FreeBSD από source, το Mercurial
workspace με το source και τα object files φτάνουν να καταλαμβάνουν χώρο
στο δίσκο περίπου ίσο με:

    root at kobe:/home/build# du -sk src obj
    986678  src
    1307800 obj
    root at kobe:/home/build# 

Αν το file & buffer cache είναι αρκετά μεγάλο (επειδή κάποια processes
έχουν γίνει preemptively swap out, επειδή ήταν idle), τότε ένα μεγάλο
ποσοστό από τα object files κρατιούνται στη μνήμη όσο γίνεται το build &
αν δεν κάνω reboot στο ενδιάμεσο, γίνονται και install από τη buffer
cache.  Η επιτάχυνση είναι *σημαντική* σε τέτοιες περιπτώσεις.

> Δηλ. ο δίσκος θα βολευόταν άνετα και με 0.5GB cache. Άρα θεωρητικά θα
> είναι πολύ καλύτερο να κόβεις cache από το δίσκο, αφού ούτως ή άλλως
> περιττή είναι, παρά να κάνεις swap out έστω και την πιο "ανούσια"
> εφαρμογή.

Το caching δεν είναι ακριβώς κάτι που θα το χαρακτήριζα "περιττό".
Είναι το πρώτο που προσέχει κανείς όταν μεταβαίνει από ένα σύστημα όπως
τα Windows 9x, με το πανέμορφο disk thrasing τους όταν γίνονται μεγάλες
αλλαγές στο file system τους, σε κάποιο λειτουργικό με πιο μοντέρνο VM &
file system υποσύστημα :)

Προσωπικά πάντα θέλω να χαμογελάσω ικανοποιημένος όταν κλείνω κάποια
τεράστιια εφαρμογή, όπως το OpenOffice writer ή το Firefox, και η buffer
cache δίνει ρέστα αφήνοντας το δίσκο στην ησυχία του :)




More information about the Linux-greek-users mailing list