SystemD-Swap: Για όσους δεν θέλουν SWAP partition

«Ποιος χρειάζεται Swap στην εποχή μας» θα έλεγε κάποιος. Δυστυχώς είμαστε μακρυά ακόμα από την μη χρήση του Swap. Παρόλα αυτά για αυτούς που δεν φτιάχνουν Swap Partition αλλά θέλουν την «ασφάλεια» του αλλά και να συνδυάσουν τα εκπληκτικά Zswap και ZRam υπάρχει το SystemD-Swap

Εισαγωγή

Το Swap Partition είναι ένας χώρος του δίσκου σας, το οποίο είναι αφιερωμένο στο χειρισμό των συνθηκών στις οποίες θα πρέπει τμήματα της μνήμης RAM να «αδειάσει» χώρο οπότε και χρησιμοποιεί αυτόν τον χώρο για την αποθήκευσή αυτών των τμημάτων.

Οι σημερινοί υπολογιστές, είναι εξοπλισμένοι πλέον με μπόλικη RAM η οποία ξεκινάει από 4GB και άνω. Παρόλα αυτά, τα λειτουργικά συστήματα για διάφορους λόγους (πιθανότητα «υπερχείλισης μνήμης»,  χρήση αδρανοποίησης υπολογιστή κλπ) δημιουργούν, ακόμα και υπό συνθήκες μπόλικης μνήμης, ξεχωριστά διαμερίσματα  για να έχουν διαθέσιμη μνήμη σε περίπτωση που χρειαστεί να ελευθερώσουν χώρο από την RAM.

Διαφορετικές υλοποιήσεις του Swap

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

Εναλλακτικά υπάρχουν και οι λύσεις του Zswap και Zram τα οποία είδαμε στο άρθρο «Μνήμη RAM: Βελτίωση διαχείρισης με zram – zswap – zcache» το οποίο αν δεν το έχετε διαβάσει, σας το συστήνω ανεπιφύλακτα ιδιαίτερα δε τις απορίες στα σχόλια.

SystemD-Swap

Όλα τα παραπάνω μπορούν να συνδυαστούν ανάλογα και με τις ανάγκες του καθενός με το systemd-swap.  Η μόνη προϋπόθεση φυσικά είναι η διανομή σας να χρησιμοποιεί SystemD για τις υπηρεσίες του. Οι περισσότερες, αν όχι όλες οι διανομές (πλην κάποιων εξαιρέσεων) βασίζονται στο SystemD οπότε αν δεν είστε σίγουροι, ρωτήστε κάτω στα σχόλια.

Μερικά σημαντικά πλεονέκτημα του systemd-swap είναι:

  • Εύκολη εγκατάσταση και ρύθμιση
  • Δεν χρειάζεται να έχετε Swap Partition
  • Υποστηρίζει όλα τα συστήματα αρχείων (αν ρυθμιστεί ως Swap File Universal) και ιδιαίτερα το Btrfs που δεν υποστηρίζει ακόμα Swap Files
  • Μεγαλώνει ανάλογα με τις ανάγκες (αν ρυθμιστεί ως Swap File Chunked)
  • Συνδυάζει το Zram ή Zswap

Εγκατάσταση του SystemD-Swap

Επίσημα το SystemD-swap διαθέτει «έτοιμες λύσεις εγκατάστασης για Arch Linux και Debian διανομές. Οι υπόλοιποι απλά χρησιμοποιούν την χειροκίνητη εγκατάσταση

Για να το εγκαταστήσετε σε Arch απλά τρέχετε:

sudo pacman -S systemd-swap

Σε Debian χρησιμοποιείτε το script του που παράγει Deb πακέτο:

git clone https://github.com/Nefelim4ag/systemd-swap.git
./systemd-swap/package.sh debian
sudo dpkg -i ././systemd-swap/systemd-swap-*any.deb

Για τις υπόλοιπες διανομές μπορείτε να κάνετε χειροκίνητη εγκατάστασή του:

git clone https://github.com/Nefelim4ag/systemd-swap.git
sudo make install

Ρύθμιση του SystemD-Swap

Η ρύθμιση του SystemD-Swap γίνεται απλά ανοίγοντας ως διαχειριστές το παρακάτω αρχείο για επεξεργασία:

/etc/systemd/swap.conf

Αφού το ανοίξετε, μπορεί σε πρώτη ματιά να «χαθείτε»…. δώστε λίγο χρόνο να το δείτε από την αρχή μέχρι το τέλος.  Θα δείτε ότι είναι χωρισμένο σε 4 τμήματα:

  1. Zswap
  2. ZRam
  3. Swap File Universal (swapfu)
  4. Swap File Chunked (swapfc)

Εδώ λοιπόν χρειάζεται να ενεργοποιήσουμε είτε Zswap είτε ZRam και ένα απο τα Swap File (Universal ή Chuncked)

Σε γενικές γραμμές διαλέξετε κάποιο από τα παρακάτω:

  • Αν διαθέτετε Laptop, Desktop προτείνεται ο συνδυασμός zswap + swapfc
  • Σε περίπτωση που ο δίσκος είναι SSD τότε προτείνεται ο συνδυασμός με ZRam
  • Σε κάθε περίπτωση συνδυασμού αν θέλετε αυτόματη αυξομείωση τότε χρησιμοποιείτε swapfc
  • Αν είστε σε σύστημα αρχείων Btrfs τότε να χρησιμοποιείτε συνδυασμό με swapfu

Αφού αποφασίσετε ποιον συνδυασμό ακολουθείτε, απλά βάζετε 0 για να απενεργοποιήσετε ή 1 για να ενεργοποιήσετε κάποια ιδιότητα. Παράδειγμα, βρείτε τις γραμμές στις οποίες αναφέρονται τα παρακάτω:

zswap_enabled=0
zram_enabled=1
swapfu_enabled=0
swapfc_enabled=1

όπου ο παραπάνω συνδυασμός ενεργοποιεί το zram και swapfc.

Μένει μόνο να ρυθμίσουμε το σύστημα να εκκινεί την υπηρεσία αυτόματα :

sudo systemctl enable systemd-swap
sudo systemctl start systemd-swap

Επίλογος

Για όσους ΔΕΝ έχουν Swap Partition ή και Swap File, είδαμε οτι με το SystemD-Swap μπορούν όχι μόνο να διαχειριστούν  το ζήτημα αυτό αλλά και να το συνδυάσουν με τις δυνατότητες του Zswap και Zram με ένα εργαλείο.

Το επίσημο αποθετήριο του SystemD-Swap είναι:

Εσείς ποιον συνδυασμό χρησιμοποιείτε ;

Γράψτε στα σχόλια τον συνδυασμό που επιλέξατε η τυχών τις απορίες σας.

 

 

 

 

Advertisements

6 thoughts on “SystemD-Swap: Για όσους δεν θέλουν SWAP partition

  1. Πολύ ωραίο το systemd-swap! Όταν έστηνα το σύστημά μου (Arch) , ψηνόμουν να το δοκιμάσω, αλλά επικράτησε τότε το swap partition. Με το που διάβασα το άρθρο σου, ήταν αρκετό!
    Διέγραψα το swap partition μου, έδωσα το χώρο στο /home, έσβησα την καταχώρηση από το fstab, εγκατέστησα το systemd-swap, και είμαι μια χαρά!
    .. Και να σκεφτείς, κάποιοι, ακόμη αντιπαθούν το systemd…!
    Anyway…
    Ευχαριστούμε, για ένα ακόμα χρήσιμο άρθρο! 🙂

    1. Και πολύ καλά έκανες 🙂 Με τόσα διαθέσιμα εργαλεία ακόμα και το systemd-swap να μην χρησιμοποιείς αλλά να έχεις swap file είναι πλέον πιο «μοντέρνο» από το να έχεις αποκλειστικά ένα διαμέρισμα για αυτό

  2. Χαίρετε! Να ρωτήσω: εγκατέστησα το systemd-swap με zswap & swapfc enabled σε ένα παλιό σύστημα (Celeron 420, αλλά με 5Gb ram) στο οποίο υπάρχει και swap partition 6Gb. Του έβαλα να παίζει ταυτόχρονα δυο ταινίες, ένα βίντεο στο youtube και να υπάρχουν κι άλλες φορτωμένες ανοιχτές σελίδες. Το CPU usage έφθανε στο 100% αλλά έπαιζει κυρίως στο ~80. Πως μπορώ να δω αν όντως αυτό το systemd-swap δουλεύει. Στο htop που ταυτόχρονα παρατηρούσα στο swap έδειχνε 0K (χαζή ερώτηση: εδώ δείχνει την χρήση το swap partition??)

    Σας ευχαριστώ

    1. Καθόλου χαζή ερώτηση!
      Το swap που βλέπεις θα είναι το σύνολο του Swap Partition με το swapfc. Επειδή όμως έχεις ήδη 6GB αν καταλάβα καλά σε μόνιμο Swap partition δεν θα δεις να μεγαλώνει το 6GB ποτέ. Αυτό γιατί όπως αναφέρω και στο άρθρο το swapfc μεγαλώνει αυτόματα μονο όταν υπάρχει ανάγκη.

      για να δεις λεπτομέρειες για το αν δουλεύει και τι γίνεται τρέχεις:

      systemctl status systemd-swap

      1. Σε ευχαριστώ!

        Θα κάνω δοκιμές και θα σας πω αν δω κάτι περίεργο (μπορεί να σβήσω και το swap partition όπως έκανε ο Δημητρης777).

        καλημέρα!

Απορίες, παρατηρήσεις, ιδέες... Ελεύθερα ! Πες την άποψή σου... έστω και Ανώνυμα:

Εισάγετε τα παρακάτω στοιχεία ή επιλέξτε ένα εικονίδιο για να συνδεθείτε:

Λογότυπο WordPress.com

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό WordPress.com. Αποσύνδεση / Αλλαγή )

Φωτογραφία Twitter

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Twitter. Αποσύνδεση / Αλλαγή )

Φωτογραφία Facebook

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Facebook. Αποσύνδεση / Αλλαγή )

Φωτογραφία Google+

Σχολιάζετε χρησιμοποιώντας τον λογαριασμό Google+. Αποσύνδεση / Αλλαγή )

Σύνδεση με %s