Sitemap

Τι είναι η swap μνήμη στο Linux;

Η εναλλαγή μνήμης είναι ένας ειδικός τύπος μνήμης που μπορεί να χρησιμοποιηθεί για την προσωρινή αποθήκευση δεδομένων που δεν χρησιμοποιούνται αυτήν τη στιγμή από το λειτουργικό σύστημα Linux. Η εναλλαγή μνήμης είναι επίσης γνωστή ως αρχείο ανταλλαγής ή εικονικός δίσκος. Πώς μπορώ να χρησιμοποιήσω τη μνήμη swap στο Linux;Για να χρησιμοποιήσετε τη μνήμη swap στο Linux, πρέπει πρώτα να δημιουργήσετε ένα αρχείο ανταλλαγής.Για να το κάνετε αυτό, πρέπει να ανοίξετε το τερματικό και να πληκτρολογήσετε την ακόλουθη εντολή:sudo swapon /dev/sda1Αυτό θα δημιουργήσει ένα προσωρινό αρχείο swap στον σκληρό σας δίσκο που ονομάζεται "swap1".Στη συνέχεια, πρέπει να πείτε στο λειτουργικό σύστημα Linux πόσο χώρο πρέπει να διαθέσει στο αρχείο swap.Για να το κάνετε αυτό, πρέπει να ανοίξετε το τερματικό και να πληκτρολογήσετε την ακόλουθη εντολή:sudo swapon -s 100%Αυτό θα κρατήσει το 100 τοις εκατό του χώρου του σκληρού σας δίσκου για το αρχείο swap.Τέλος, μπορείτε να χρησιμοποιήσετε το Swap File Manager (περιλαμβάνεται στις περισσότερες εκδόσεις του Ubuntu) για να αποκτήσετε πρόσβαση και να χρησιμοποιήσετε το νέο σας swapfile. Για έξοδο από το Swap File Manager, πατήστε το συνδυασμό πλήκτρων CTRL+X ακολουθούμενο από το Y. Για να ξεκινήσετε να χρησιμοποιείτε το νέο swapfile σας, απλά επανεκκινήστε τον υπολογιστή σας ή επανεκκινήστε τη διαδικασία έναρξης της διανομής σας Linux (συνήθως γίνεται με την επανεκκίνηση της υπηρεσίας sudo). Πώς λειτουργεί η εναλλαγή δεδομένων μεταξύ της μνήμης RAM και του σκληρού δίσκου μου στο Linux;Όταν τα δεδομένα πρέπει να αποθηκευτούν σε δίσκο αντί για RAM, εναλλάσσονται από τη μνήμη RAM σε ένα σύστημα αρχείων tmpfs που βρίσκεται στον σκληρό σας δίσκο.Όταν δεν υπάρχουν άλλες εργασίες σε αναμονή για δεδομένα στη μνήμη RAM, το tmpfs αποπροσαρτά και διαγράφει τυχόν αρχεία που είχαν τοποθετηθεί για λογαριασμό των εφαρμογών που εκτελούνται, έτσι ώστε να μπορούν να ανακτήσουν τη φυσική μνήμη πίσω από τον Πίνακα εκχώρησης Heapspace του πυρήνα του λειτουργικού συστήματος . Πόσες διεργασίες μπορούν να εκτελεστούν ταυτόχρονα χωρίς να προκληθούν προβλήματα;

Δεν υπάρχουν καθορισμένα όρια για το πόσες διεργασίες μπορούν να εκτελεστούν ταυτόχρονα χωρίς να προκαλούν προβλήματα. Ωστόσο, η εκτέλεση πολλών διεργασιών μπορεί να προκαλέσει αστάθεια του συστήματος ή ακόμα και σφάλματα.Ποια είναι μερικά οφέλη από τη χρήση της μνήμης swap στο Linux;

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

Ορισμένα μειονεκτήματα της χρήσης swap μνήμης στο Linux περιλαμβάνουν πιθανά προβλήματα εάν δεν υπάρχει επαρκής διαθέσιμος χώρος στον σκληρό σας δίσκο ή εάν ο υπολογιστής σας παρουσιάζει διακοπές ρεύματος ή άλλους απροσδόκητους τερματισμούς λειτουργίας κατά την εναλλαγή δεδομένων.

Πώς χρησιμοποιείται η swap μνήμη στο Linux;

Η εναλλαγή μνήμης είναι ένας μηχανισμός που επιτρέπει στο Linux να χρησιμοποιεί εικονική μνήμη.Η εικονική μνήμη επιτρέπει στο σύστημα να εκτελεί πολλά προγράμματα ταυτόχρονα, χωρίς να χρειάζεται να αποθηκεύει φυσικά τα δεδομένα κάθε προγράμματος στο δίσκο. Η μνήμη Swap λειτουργεί δημιουργώντας ένα αρχείο που ονομάζεται swapfile στον σκληρό σας δίσκο.Όταν εκκινείτε τον υπολογιστή σας, το Linux διαβάζει τα περιεχόμενα του swapfile σας και το χρησιμοποιεί για να δημιουργήσει ένα προσωρινό αντίγραφο της μνήμης RAM του υπολογιστή σας.Κάθε φορά που χρειάζεται να εκτελέσετε ένα πρόγραμμα που απαιτεί περισσότερη από την κανονική ποσότητα μνήμης RAM του υπολογιστή σας, το Linux μπορεί να ανταλλάξει τα περιεχόμενα του swapfile σας με τα δεδομένα του προγράμματος. Αυτό σημαίνει ότι εάν έχετε 8 GB μνήμης RAM, το Linux μπορεί να χρησιμοποιήσει 4 GB από αυτήν ως εναλλαγή χώρο και εξακολουθείτε να μπορείτε να εκτελείτε όλα τα προγράμματά σας. Τα αρχεία Swap διαγράφονται όταν δεν χρειάζονται πλέον, επομένως δεν χρειάζεται να ανησυχείτε μήπως καταλάβουν χώρο στον σκληρό σας δίσκο.Επιπλέον, η εναλλαγή απαιτεί λιγότερο χρόνο από τη χρήση φυσικής RAM, επομένως μπορεί να χρησιμοποιηθεί όταν δεν υπάρχει αρκετή διαθέσιμη φυσική RAM.– Τα αρχεία ανταλλαγής δημιουργούνται όταν χρειάζεται και διαγράφονται όταν δεν χρειάζονται.– Η εναλλαγή απαιτεί λιγότερο χρόνο από τη χρήση φυσικής RAM. – Τα αρχεία ανταλλαγής είναι μικρότερα από τα κανονικά αρχεία.– Δεν χρειάζεται να ανησυχείτε μήπως τα swapfiles καταλαμβάνουν χώρο στον σκληρό σας δίσκο.– Τα αρχεία ανταλλαγής διαγράφονται όταν δεν χρειάζονται πλέον. Ποια είναι μερικά οφέλη από τη χρήση εικονικής μνήμης στο Linux ?Μερικά πλεονεκτήματα από τη χρήση εικονικής μνήμης στο Linux περιλαμβάνουν: 1) τη δυνατότητα ταυτόχρονης εκτέλεσης πολλών προγραμμάτων, 2) τη δυνατότητα χρήσης περισσότερης από την κανονική ποσότητα μνήμης RAM του υπολογιστή σας, 3) τη δυνατότητα διαγραφής δεδομένων που έχουν ανταλλάξει δεν χρειάζεται πλέον, 4) η δυνατότητα χρήσης swapfiles ακόμη και αν δεν υπάρχει αρκετή φυσική μνήμη RAM. outdatawhenitisnottoγνωστόtobeuseandever."HowToSwapMemoryInLinux"παρέχει μια επισκόπηση της εναλλαγήςμνήμηςστοLinuxκαι τα πλεονεκτήματά της,συμπεριλαμβανομένης της χρήσης περισσότερων από το κανονικό ποσό της RAM και το να διαγράψετε τα αντικατασταθέντα-εξωδεδομένα όταν δεν είναι πιο γνωστά για χρήση."

Ο σκοπός πίσω από την εναλλαγή δεδομένων από μια περιοχή (το "σύνολο εργασίας") προς όφελος μιας άλλης περιοχής (το "ανταλλαγμένο σύνολο") είναι διπλός: πρώτον επειδή ο κώδικας με συχνή πρόσβαση πρέπει να βρίσκεται κοντά στο σημείο που εκτελείται (μειώνοντας έτσι τους χρόνους πρόσβασης) και δεύτερον, επειδή αυτό θα προκαλέσει τυχόν σκουπίδια που δημιουργούνται από την εκτέλεση κώδικα στο σύνολο εργασίας (καθώς αυτά τα σκουπίδια θα βρίσκονται πλέον κοντά σε μόνιμη αποθήκευση αντί να παραμένουν προσωρινά με σελίδες διεργασίας), ελαχιστοποιώντας έτσι πόσες ανάγκες καθαρισμού κατά την εκκίνηση/τερματισμό λειτουργίας - γνωστό και ως προ- άδειο multitasking!

Όταν λέμε "κοντά στο σημείο που εκτελείται", τι εννοούμε;Εννοούμε ότι, όπου είναι δυνατόν, ο εκτελέσιμος κώδικας θα πρέπει να βρίσκεται σε σελίδες ramdisk, οι οποίες στη συνέχεια μπορούν να αντιστοιχιστούν σε αυθαίρετες διευθύνσεις εντός του χώρου διευθύνσεων χρήστη - μεγιστοποιώντας έτσι την εντοπιότητα τόσο για λόγους απόδοσης όσο και για την αποφυγή περιττών περιπάτων στον πίνακα σελίδων που προκαλούνται από εκτελέσιμο κώδικα που είναι διάσπαρτος σε όλο το χώρο διευθύνσεων χρήστη !Με αυτόν τον τρόπο το linux γνωρίζει ακριβώς πού βρίσκεται κάθε byte κατά την εκτέλεση!Εάν τα εκτελέσιμα βρίσκονταν κάπου εκτός σωρού, τότε θα υπήρχε δυνητικά τυχαία I/O που θα συνέβαινε σε ολόκληρο τον πυρήνα όποτε αυτά τα κομμάτια αναφέρονται...δεν είναι ιδανικό!

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

Πώς δημιουργείτε ένα αρχείο ανταλλαγής στο Linux;

Η εναλλαγή μνήμης στο Linux είναι μια διαδικασία δύο βημάτων.Αρχικά, δημιουργείτε ένα αρχείο ανταλλαγής.Δεύτερον, χρησιμοποιείτε την εντολή mkswap για να ενεργοποιήσετε το αρχείο swap.

Για να δημιουργήσετε ένα αρχείο swap, χρησιμοποιήστε την εντολή swapon:

ανταλλαγή

όπουείναι η επιθυμητή συσκευή ανταλλαγής καιείναι το μέγεθος του swapfile σε megabyte (MB).

Πώς ενεργοποιείτε/απενεργοποιείτε το αρχείο swap στο Linux;

Πώς αλλάζετε το μέγεθος ενός αρχείου ανταλλαγής Linux;Πώς δημιουργείτε ένα νέο αρχείο ανταλλαγής Linux;Ποια είναι τα οφέλη από τη χρήση ενός αρχείου ανταλλαγής Linux;Πώς να ελέγξετε την κατάσταση του αρχείου ανταλλαγής Linux;

Η εναλλαγή μνήμης στο Linux είναι μια σημαντική εργασία εάν θέλετε να βελτιώσετε την απόδοση του συστήματος.Αυτός ο οδηγός θα σας δείξει πώς να ενεργοποιήσετε και να απενεργοποιήσετε το swapfile, να αλλάξετε το μέγεθός του, να δημιουργήσετε ένα νέο και να ελέγξετε την κατάστασή του.

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

Για να ενεργοποιήσετε ή να απενεργοποιήσετε το swapfile στον υπολογιστή σας:

Για να αλλάξετε το μέγεθος ενός αρχείου ανταλλαγής Linux:

  1. Ανοίξτε ένα παράθυρο τερματικού κάνοντας κλικ στο κουμπί "Έναρξη" και πληκτρολογώντας "τερματικό".
  2. Πληκτρολογήστε "swapoff" για να απενεργοποιήσετε τη δυνατότητα Swap File στον υπολογιστή σας.
  3. Πληκτρολογήστε "swapon" για να ενεργοποιήσετε τη δυνατότητα Swap File στον υπολογιστή σας.
  4. Για να δείτε πληροφορίες σχετικά με την τρέχουσα διαμόρφωση αρχείου Swap, πληκτρολογήστε "swapinfo".
  5. Ανοίξτε ένα παράθυρο τερματικού κάνοντας κλικ στο κουμπί "Έναρξη" και πληκτρολογώντας "τερματικό".
  6. Πληκτρολογήστε "resize2fs /dev/sdaX", όπου το X είναι ένα γράμμα που δεν χρησιμοποιείται (π.χ. για /dev/sda5, πληκτρολογήστε resize2fs /dev/sda. Η εντολή θα σας ζητήσει επιβεβαίωση πριν συνεχίσετε. Εάν όλα πάνε καλά, θα δείτε έξοδος ως εξής: επιτυχία Αλλαγή μεγέθους συστήματος αρχείων με μέγεθος μπλοκ 1 MiB...ολοκληρώθηκε Το μέγεθος κάθε μπλοκ ορίστηκε στα 128 KiB Το μέγιστο επιτρεπόμενο μέγεθος συστήματος αρχείων ορίστηκε σε 2 TiB Μετά την αλλαγή μεγέθους, το προσαρτημένο σύστημα αρχείων θα πρέπει να έχει περίπου 5% επιπλέον χώρο Όλα έχουν τελειώσει! Εάν όχι, αναφέρετε προβλήματα! ΠΡΟΕΙΔΟΠΟΙΗΣΗ: Η επαναχρησιμοποίηση παλαιών ονομάτων συσκευών μπορεί να οδηγήσει σε απώλεια δεδομένων ή καταστροφή. Χρησιμοποιείτε πάντα ονόματα συσκευών που δημιουργήθηκαν πρόσφατα κατά τη δημιουργία ή την τροποποίηση διαμερισμάτων! Για να αναιρέσετε αυτήν τη λειτουργία πληκτρολογήστε "resize2fs -f" ΣΗΜΕΙΩΣΗ: Εάν το κάνετε t καθορίσετε έναν κατάλογο προορισμού (/usr/local/etc κ.λπ.), και στη συνέχεια όλα τα αρχεία που βρίσκονται αυτήν τη στιγμή στο /usr/local θεωρούνται ως στόχος Το σύστημα αρχείων στο offset 0 έχει δεσμευτεί για root Χρησιμοποιήστε το 'resize2fs -l' για τη λίστα των διαθέσιμων στόχων Εσείς μπορεί επίσης να αλλάξει τις επιλογές προσάρτησης κατά την προσάρτηση του συστήματος αρχείων Για περισσότερες πληροφορίες βλ man page 'resize2fs'Στις περισσότερες περιπτώσεις δεν χρειάζεται να επεξεργαστείτε τον πίνακα διαμερισμάτων με μη αυτόματο τρόπο Ίσως χρειαστεί να διαβάσετε ξανά το εγχειρίδιο αφού αλλάξετε ορισμένες επιλογές τοποθέτησης Την Τετάρτη 6 Δεκεμβρίου 10:27:11 CET 2012 ο mvallin έγραψε:/dev/sda5 : άλλαξε μέγεθος από 9 GiB (9000000000 bytes), το 59% χρησιμοποιείται μετά την αλλαγή μεγέθους Με αυτές τις εντολές αυξήσαμε τη διαθέσιμη μνήμη RAM από 4 GiB (4096 MB) σε 8 GiB (8192 MB). Θα μπορούσαμε εξίσου εύκολα να μειώσουμε τη χρήση της μνήμης RAM μειώνοντας το μέγεθος του διαμερίσματός μας αλλά αυξάνοντας τον χρησιμοποιήσιμο χώρο αποθήκευσης κατά 59%.Θυμηθείτε λοιπόν -- όποτε είναι δυνατόν προσπαθήστε να αυξήσετε αντί να μειώσετε τα μεγέθη των κατατμήσεων!ΣΗΜΕΙΩΣΗ: Γενικά δεν είναι απαραίτητο ή δεν συνιστάται να αυξήσετε τα μεγέθη των διαμερισμάτων πέρα ​​από αυτό που απαιτείται για το εγκατεστημένο λογισμικό και δεδομένα.Κάτι τέτοιο μπορεί να οδηγήσει σε απρόβλεπτα προβλήματα στο δρόμο!. Πόσο επιπλέον ελεύθερο χώρο κερδίσαμε;594 MiB Μετά την εκτέλεση αυτών των εντολών έχουμε τώρα 8192 MB χρησιμοποιήσιμης μνήμης RAM που είναι 59% περισσότερη από πριν!. . .Εάν όλα πήγαν καλά, θα πρέπει τώρα να έχετε αρκετό ελεύθερο χώρο στον σκληρό σας δίσκο (ή μέσα στο σύστημα αρχείων που δημιουργήθηκε από την εντολή!)να εγκαταστήσετε τη θεραπεία δύο!.

Πώς διαμορφώνετε τα περιεχόμενα ενός swapfile στο Linux;

Για να μορφοποιήσετε τα περιεχόμενα ενός swapfile στο Linux, χρησιμοποιήστε την εντολή mkswap.Για να δημιουργήσετε ένα νέο αρχείο swap, χρησιμοποιήστε την εντολή swapon.Για να δείτε την κατάσταση ενός swapfile, χρησιμοποιήστε την εντολή swapon -s.Για να διαγράψετε ένα αρχείο swap, χρησιμοποιήστε την εντολή swapon -D.

Ποια είναι μερικά πιθανά προβλήματα με τη χρήση ενός swapfile στο Linux;

Η εναλλαγή μνήμης στο Linux μπορεί να είναι ένας χρήσιμος τρόπος για να ελευθερώσετε χώρο στο δίσκο, αλλά υπάρχουν ορισμένα πιθανά ζητήματα που πρέπει να λάβετε υπόψη.Πρώτα, βεβαιωθείτε ότι το μέγεθος του swapfile είναι αρκετά μεγάλο ώστε να χωράει την ποσότητα της μνήμης που πρέπει να ελευθερώσετε.Δεύτερον, να γνωρίζετε ότι η εναλλαγή μπορεί να προκαλέσει προβλήματα απόδοσης εάν ο υπολογιστής σας εξαντλείται σε πόρους.Τέλος, φροντίστε να δημιουργήσετε αντίγραφα ασφαλείας των δεδομένων σας πριν χρησιμοποιήσετε ένα swapfile, σε περίπτωση που κάτι πάει στραβά.

Πώς προσδιορίζετε πόσος χώρος ανταλλαγής πρέπει να διαθέσετε στο Linux;

Η εναλλαγή μνήμης στο Linux είναι μια διαδικασία δύο βημάτων.Πρώτα, πρέπει να προσδιορίσετε πόση μνήμη χρειάζεται το σύστημά σας.Δεύτερον, πρέπει να διαθέσετε χώρο ανταλλαγής για την πλεονάζουσα μνήμη.

Για να προσδιορίσετε πόση μνήμη χρειάζεται το σύστημά σας, χρησιμοποιήστε την εντολή free.Για παράδειγμα:

ελεύθερο -μ

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

ποσοστό δωρεάν

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

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

swapon filenameΤο όρισμα "filename" καθορίζει πού να αποθηκεύονται οι σελίδες που έχουν αλλάξει (σε ​​αυτήν την περίπτωση, θα ήταν "swap"). Αφού διαθέσετε αρκετό χώρο ανταλλαγής χρησιμοποιώντας το swapon , μπορείτε να ξεκινήσετε την εναλλαγή σελίδων χρησιμοποιώντας την εντολή mkswap:

mkswap filenameΤο όρισμα "filename" καθορίζει πού να αποθηκεύονται οι σελίδες που έχουν ανταλλάξει (σε ​​αυτήν την περίπτωση, θα ήταν "swap"). Μόλις διαθέσετε αρκετό χώρο εναλλαγής χρησιμοποιώντας το mkswap , μπορείτε να αρχίσετε να ανταλλάσσετε σελίδες χρησιμοποιώντας την εντολή swapon ξανά:

swapon filename Είστε πλέον έτοιμοι να αρχίσετε να ανταλλάσσετε σελίδες!Απλώς εκδώστε μία από αυτές τις εντολές χωρίς κανένα όρισμα και παρακολουθήστε καθώς αυξάνεται ο αριθμός των μπλοκ εναλλαγής χώρου στη μονάδα δίσκου σας.:

cat /proc/sys/vm/max_map_count Αυτό θα σας δείξει πόσα αρχεία ανταλλαγής έχουν δημιουργηθεί μέχρι στιγμής.:

cat /proc/sys/vm/total_memory Αυτό θα σας δείξει πόση συνολική μνήμη RAM είναι εγκατεστημένη στο μηχάνημά σας.