Swappiness: Πώς να ρυθμίσετε τη χρήση της εικονικής μνήμης

εικονική μνήμη swappiness

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

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

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

Στο λειτουργικό μας σύστημα, η δημιουργία εικονικής μνήμης γίνεται συνήθως κατά τη διάρκεια της διαδικασίας εγκατάστασης, οπότε ορίζουμε το διαμέρισμα root (/), το διαμέρισμα αποθήκευσης (/ home) και το διαμέρισμα ανταλλαγής ή swap, η οποία συνήθως εφαρμόζεται στο διαμέρισμα / dev / sda5. Η παράμετρος του πυρήνα που διαχειρίζεται τη χρήση της εικονικής μνήμης είναι η προαναφερθείσα swappiness, και βασικά μπορούμε να πούμε ότι είναι υπεύθυνη για τον ορισμό της συχνότητας πρόσβασης στο διαμέρισμα ανταλλαγής και του περιεχομένου που αντιγράφουμε σε αυτό, μέσω ενός επιχειρήματος που διαφέρει μεταξύ 0 και 100.

Η προεπιλεγμένη τιμή σε μια εγκατάσταση Linux είναι 60, αλλά καθώς είναι εύκολο να υποθέσουμε, δεν είναι όλες οι διαμορφώσεις υλικού ίδιες και επομένως δεν έχει νόημα να διατηρήσουμε αυτό το επίπεδο ανεξάρτητα από το ποιο είναι δικό μας. Αυτή η τιμή αποθηκεύεται στο αρχείο / proc / sys / vm / swappiness και μπορούμε να την ελέγξουμε μέσω:

cat / proc / sys / vm / swappiness

Θα είναι σχεδόν σίγουρα στα 60, και αν συμβαίνει αυτό, ίσως χρειαστεί να το τροποποιήσουμε, ειδικά Εάν έχουμε μνήμη RAM μεγαλύτερη από 4 GB, δεδομένου ότι σε αυτήν την περίπτωση συνήθως χρειαζόμαστε ελάχιστη ή καθόλου εικονική μνήμη. Αλλά πριν εξηγήσουμε πώς να το τροποποιήσουμε, ας δούμε λίγο για τη λογική πίσω από αυτό το όλο θέμα σχετικά με την εικονική μνήμη και το swappiness. Και είναι ότι όταν αφήνεται από προεπιλογή στα 60, αυτό που λέγεται στον πυρήνα είναι να πάει και να χρησιμοποιήσει την εικονική μνήμη όταν η μνήμη RAM μας έχει 40 τοις εκατό ή λιγότερο της δωρεάν χωρητικότητας. Ετσι, αν ορίσουμε swappiness ίση με 100, η ​​εικονική μνήμη θα χρησιμοποιείται συνεχώςκαι αν το αφήσουμε σε πολύ χαμηλή τιμή, θα χρησιμοποιηθεί μόνο όταν η μνήμη RAM πρόκειται να εξαντληθεί. Το ελάχιστο δυνατό είναι 1, αφού αφήνουμε την τιμή ίση με 0 απενεργοποιούμε εντελώς την εικονική μνήμη.

Αυτό που πρέπει λοιπόν να κάνουμε είναι να εισαγάγουμε την ακόλουθη εντολή από το τερματικό (Ctrl + Alt + T):

sudo sysctl vm.swappiness = 10

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

sudo nano /etc/sysctl.conf

μετά το οποίο ψάχνουμε το κείμενο vm.swappiness = και προσθέτουμε την επιθυμητή τιμή μετά το σύμβολο "=". Αποθηκεύουμε το αρχείο και τώρα ναι, η αλλαγή θα είναι μόνιμη.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   ceflo dijo

    Εξαιρετική εξήγηση !!! Πολύ καλό άρθρο !! Στην περίπτωσή μου όταν κάνω αυτήν την αλλαγή κατά την επανεκκίνηση του φορητού υπολογιστή επιστρέφει στην αρχική τιμή των 60, είναι σαν να αποθηκεύεται το αρχείο αλλά κατά την επανεκκίνηση είναι «μορφοποιημένο» Έχω ήδη δοκιμάσει τα πάντα χωρίς επιτυχία, έχετε ιδέα τι θα μπορούσε να συμβεί; Έχω 1 GB Ram.

    Σας ευχαριστούμε!

    1.    Γουίλι Κλέου dijo

      Γεια César, χαίρομαι που το βρήκατε ενδιαφέρον.

      Εάν η τιμή χαθεί κατά την επανεκκίνηση του συστήματος, θα έβλεπα το /etc/rc.local και τα άλλα σενάρια εκκίνησης (διαφέρουν ανάλογα με κάθε διανομή), καθώς ενδέχεται να έχει ρυθμιστεί κατά την εκκίνηση.

      Χαιρετισμούς!

  2.   Pascual Martin dijo

    Πολύ καλή εξήγηση!

    Ως συμπλήρωμα, εδώ είναι ένα άλλο ενδιαφέρον για το Swap και swappiness στο Linux:

    http://www.sysadmit.com/2016/10/linux-swap-y-swappiness.html

  3.   κατάσταση θεατή dijo

    δεν ξέρετε πόσο καλό είναι αυτό για μένα, ευχαριστώ

  4.   κλερίγο dijo

    Με εκτίμηση,

    Στο /etc/sysctl.conf δεν είναι το κείμενο vm.swappiness =, το έψαξα καλά, το αρχείο είναι μικρό. Εκτός αν πρέπει να το προσθέσετε, το άρθρο λέει να βρείτε και να τροποποιήσετε την τιμή και όχι να προσθέσετε τη γραμμή.

  5.   Λουδοβίκος dijo

    Με εκτίμηση,

    Στο /etc/sysctl.conf δεν υπάρχει κείμενο vm.swappiness =. Εκτός αν πρέπει να το προσθέσετε, το άρθρο λέει να βρείτε και να τροποποιήσετε την τιμή και όχι να προσθέσετε τη γραμμή.

  6.   Νοσφεράτος dijo

    Πρέπει να το δημιουργήσετε, στο τέλος του αρχείου που βάλατε vm.swappiness = 10 και αυτό είναι.

    Εάν δεν εξοικονομήσει στην επανεκκίνηση, θα μπορούσε να οφείλεται στο ότι δεν χρησιμοποιείτε την εντολή sudo.

    Ubuntu: sudo gedit /etc/sysctl.conf
    Xubuntu: sudo mousepad /etc/sysctl.conf

  7.   santiago dijo

    Εξαιρετικό άρθρο. Ευχαριστώ!

  8.   Ρομπέρτο dijo

    Μπορείτε να βάλετε μηδέν. ποια προβλήματα μπορούν να εμφανιστούν;

  9.   Jose Castillo Ávalos dijo

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

    bash: cat / proc / sys / vm / swappiness: Δεν υπάρχει αρχείο ή κατάλογος

    Τι μπορεί να προκληθεί από αυτό;

    1.    Andres Choque Lopez dijo

      Έγραψες άσχημα. Δεν βάλατε το χώρο μετά το "cat".

  10.   παγοποίηση dijo

    υπέροχο, το μοιραζόμαστε στην ομάδα του Ubuntu στα Ισπανικά https://t.me/ubuntu_es

  11.   Σιδεράς dijo

    Εξαιρετικά λειτούργησε για μένα στο Debian 10.9

  12.   Γιάννης dijo

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

    sudo nano /etc/sysctl.conf

    αφού πατήσετε enter γράψτε το κλειδί και εισαγάγετε ξανά και μετά γράψτε στο τέλος την ακόλουθη γραμμή

    vm.swappiness = 0

    στη συνέχεια πατήστε ctrl και το πλήκτρο x ταυτόχρονα, δημιουργεί μια ερώτηση ότι εάν θέλετε να αποθηκεύσετε τη νέα πρόταση στο αρχείο, πατήστε το πλήκτρο Y για να πείτε ναι και n έτσι ώστε να μην το αποθηκεύσετε

    Γιατί έγραψα μηδέν 0; Οι δοκιμές έχουν ήδη γίνει σε διαφορετικούς υπολογιστές που έχω προγραμματίσει γιατί αυτή είναι η καλύτερη επιλογή αφού χρησιμοποιεί σελιδοποίηση των οποίων αλλά για παράδειγμα αν ανοίξει το Facebook χρώμιο ή πρόγραμμα περιήγησης ανοίγοντας τη μνήμη ανταλλαγής (swap ή ονομάζεται επίσης σελιδοποίηση) αλλά όταν είναι κλειστή η συνεδρία και το πρόγραμμα περιήγησης ή οποιοδήποτε πρόγραμμα επειδή η μνήμη σελιδοποίησης (swap) θα μειώσει την απελευθέρωση του σκληρού δίσκου, κάτι που είναι χρήσιμο για να αποφευχθεί η βλάβη του, θυμηθείτε ότι η μνήμη ανταλλαγής ή η αποκαλούμενη σελιδοποίηση (swap) χρησιμοποιεί τον σκληρό δίσκο.

  13.   Νορμπέρτο ​​Γκονζάλες dijo

    Δεν κατάλαβα, συγγνώμη. Εάν η προεπιλογή είναι 60 για να ενεργοποιηθεί η ανταλλαγή με 40 ή λιγότερα να λείπουν, όταν ορίσετε την παράμετρο στο 10. Δεν θα ενεργοποιηθεί με το 90 της ελεύθερης μνήμης RAM; Με την επιβράδυνση της ανταλλαγής δεδομένων