Επιβεβαιώστε την κατάσταση ανταλλαγής
Πόση ανταλλαγή χρειάζεται;
Δημιουργία και χρήση αρχείου ανταλλαγής
Εξήγηση για τους περίεργους
Εκτός κουτιού, οι διακομιστές Vultr FreeBSD δεν έχουν ρυθμιστεί ώστε να περιλαμβάνουν χώρο ανταλλαγής. Εάν η πρόθεσή σας είναι μια περίπτωση μιας χρήσης cloud, μάλλον δεν χρειάζεται να ανησυχείτε για αυτό. Εάν έχετε δημιουργήσει έναν "πραγματικό" διακομιστή που θα παραμείνει για λίγο, διαβάστε.
Ακόμη και ο πιο γελοία διακοσμημένος διακομιστής απαιτεί χώρο ανταλλαγής. Έτσι ακριβώς λειτουργεί το ΛΣ. Τις στιγμές που η εφαρμογή σας τρελαίνεται λίγο και τρώει περισσότερη μνήμη RAM από ό,τι θα έπρεπε, η εναλλαγή χώρου θα σας δώσει μια ευκαιρία να ανακτήσετε τον έλεγχο του μηχανήματος. Ακόμη και υπό κανονική λειτουργία, το FreeBSD είναι προληπτικό όσον αφορά τη διαχείριση της μνήμης. Για παράδειγμα, τα μακροχρόνια προγράμματα που βρίσκονται σε αδράνεια στη μνήμη θα εναλλάσσονται σε δίσκο για να δημιουργηθεί χώρος για χρήσιμα πράγματα, όπως οι κρυφές μνήμες του συστήματος αρχείων. Η εκτέλεση με μηδενική εναλλαγή είναι μια συνταγή για απρόβλεπτη συμπεριφορά, και κανένας που εκτελεί έναν διακομιστή δεν το θέλει αυτό!
Επιβεβαιώστε την κατάσταση ανταλλαγής
Πριν κάνουμε οτιδήποτε, ας βεβαιωθούμε ότι δεν έχουμε πραγματικά καμία ανταλλαγή.
swapinfo
δεν πρέπει να επιστρέψει τίποτα. Όπως έτσι:
vultr [~]# swapinfo
Device 1K-blocks Used Avail Capacity
vultr [~]#
Αν όντως είναι κενό, ας συνεχίσουμε και ας φτιάξουμε ένα αρχείο ανταλλαγής. Αλλά πρώτα...
Πόση ανταλλαγή χρειάζεται;
Οι παλιοί εμπειρικοί κανόνες (1x RAM, 2x RAM, 0,5x RAM, κ.λπ.) δεν ισχύουν πραγματικά αυτές τις μέρες. Εάν ο διακομιστής σας έχει 16 GB μνήμης, σίγουρα δεν χρειάζεται να σπαταλήσετε 32 GB του πολύτιμου χώρου στο δίσκο σας σε ένα αρχείο ανταλλαγής. Τούτου λεχθέντος, εάν έχετε ενεργοποιήσει τα crash dumps, ανάλογα με τον τρόπο διαμόρφωσης, ενδέχεται να απαιτείται εναλλαγή ίση με τη μνήμη σας για να λειτουργήσει.
Επομένως, το πόσο μεγάλο θα κάνετε το αρχείο ανταλλαγής εξαρτάται πραγματικά από εσάς. Τα καλά νέα είναι ότι μπορείτε πάντα να το αλλάξετε αργότερα και με τον αποθηκευτικό χώρο που υποστηρίζεται από SSD, δεν χρειάζεται να ανησυχείτε πολύ για το πού καταλήγει στο δίσκο σας. Τέλος πάντων, ας περάσουμε στο...
Δημιουργία και χρήση αρχείου ανταλλαγής
Θα δημιουργήσουμε ένα αρχείο ανταλλαγής 512 meg που βρίσκεται στο /usr/swap0
. Μη διστάσετε να αλλάξετε οποιοδήποτε από αυτά, εάν δεν λειτουργεί για εσάς. Για παράδειγμα, αν θέλετε 1 gig ανταλλαγής, αλλάξτε το 512 σε 1024 και ούτω καθεξής. Εάν αποφασίσετε να αλλάξετε το όνομα αρχείου, βεβαιωθείτε ότι έχετε αλλάξει και τις δύο αναφορές σε αυτό.
Αντιγράψτε προσεκτικά τα παρακάτω, εκτελέστε ως root και θα είστε έτοιμοι:
dd if=/dev/zero of=/usr/swap0 bs=1m count=512
chmod 0600 /usr/swap0
echo "md99 none swap sw,file=/usr/swap0,late 0 0" >> /etc/fstab
swapon -aL
Επιβεβαιώστε ότι λειτούργησε:
vultr [~]# swapinfo
Device 1K-blocks Used Avail Capacity
/dev/md99 524288 0 524288 0%
Σε αυτό το σημείο, είστε έτοιμοι. Το Swap είναι ενεργό και θα συνεχίσει να λειτουργεί μετά από επανεκκίνηση.
Εξήγηση για τους περίεργους
Η dd
εντολή δημιουργεί το πραγματικό αρχείο. Μετά από αυτό, ορίζουμε τα κατάλληλα δικαιώματα, προσθέτουμε μια γραμμή /etc/fstab
για εναλλαγή και, στη συνέχεια, την ενεργοποιούμε. Η εντολή swapon -aL
λέει στο λειτουργικό σύστημα να ενεργοποιήσει όλα τα διαμερίσματα/αρχεία swap στο fstab, συμπεριλαμβανομένων αυτών που έχουν επισημανθεί ως καθυστερημένα. Λόγω του τρόπου εκκίνησης του FreeBSD 10.2, το αρχείο swap πρέπει να προσαρτηθεί αργά. Όταν το λειτουργικό σύστημα εκκινήσει κανονικά, η εναλλαγή σας θα ενεργοποιηθεί κατά τη διάρκεια του σταδίου "προσάρτηση καθυστερημένων συστημάτων αρχείων".