Τι είναι η swap στο Linux και πως ελέγχουμε τον διαθέσιμο χώρο;

Ο χώρος swap σε λειτουργικά συστήματα Linux είναι μια μορφή εικονικής μνήμης. Όταν ο χώρος της "φυσικής" μνήμης RAM εξαντλείται (=γεμάτη μνήμη), το λειτουργικό σύστημα μετακινεί στη swap τις ανενεργές "σελίδες" της μνήμης, δηλαδή τα κομμάτια που χρησιμοποιούνται λιγότερο συχνά, ώστε να απελευθερωθεί χώρος στη RAM. Με απλά λόγια, η swap είναι ένα αρχείο στον σκληρό δίσκο (συνήθως το /swapfile σε Debian/Ubuntu συστήματα) που χρησιμοποιείται ως μνήμη έκτακτης ανάγκης όταν δεν επαρκεί πια η κανονική RAM του υπολογιστή. Ο καθορισμός του μεγέθους της swap γίνεται συνήθως κατά την εγκατάσταση του Linux στον υπολογιστή.

Για να ελέγξουμε τον διαθέσιμο χώρο στη swap υπάρχουν διάφοροι τρόποι. Εδώ θα δούμε τους πιο βασικούς τρόπους από το Τερματικό. Στο Gnome και το KDE υπάρχουν συνήθως εφαρμογές (π.χ. Gnome System Monitor) που κάνουν το ίδιο.

Εντολή free

Με την εντολή free μπορούμε να δούμε στατιστικά την RAM και τη swap μνήμη: σύνολο, σε χρήση και ελεύθερος χώρος. Τα αποτελέσματα εκφράζονται σε Kb, εκτός αν βάλετε την παράμετρο -m:

$ free -m
              total        used        free      shared  buff/cache   available
Mem:         128592       50262        1035         904       77294       76218
Swap:          5021         832        4189

Παρόμοια είναι η και η εντολή vmstat η οποία όπως λέει και το όνομά της αναφέρει στατιστικά για την (εικονική) μνήμη. Με την παράμετρο  -S M, βλέπετε τα πάντα σε MB:

$ vmstat -S M
procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 2  0    832   1069   1713  75580    0    0     0   135    0    0  4  1 95  0  0

Η διαφορά είναι ότι με την vmstat βλέπετε πιο αναλυτικά πόσο μέρος της μνήμης χρησιμοποιείται ως buffer και πόσο ως cache (ενώ η free τα αναφέρει όλα μαζί). Στην περίπτωση μου, δηλαδή, από τα 77294MB που είναι buffer/cache τα 1713 χρησιμοποιούνται ως buffer και τα υπόλοιπα ως cache.

Εντολή swapon

Η εντολή swapon -s προβάλλει στοιχεία αποκλειστικά για την swap: που βρίσκεται, το μέγεθος της και πόσο είναι σε χρήση (προσοχή, αναφέρει Kb):

$ swapon -s
Filename				Type		Size	Used	Priority
/swapfile                              	file    	2097148	0	-2

Σημείωση: η εντολή swapon -s ισοδυναμεί με το να "δείτε" το αρχείο /proc/swaps, δηλαδή είναι ίδια με την παρακάτω εντολή:

cat /proc/swaps

Εντολή top

Η top είναι η εντολή που χρησιμοποιούν πιο συχνά οι linux sysadmins καθώς δείχνει σε πραγματικό χρόνο τα πάντα για το σύστημα μας: uptime, αριθμό χρηστών, μ.ο φόρτου, αριθμό διεργασιών, χρήση CPU, διαθέσιμη/χρησιμοποιούμενη μνήμη και swap καθώς και αναλυτικά στοιχεία για κάθε μία διεργασία που τρέχει στο σύστημα. Στη 4η γραμμή, βλέπουμε πόση είναι η swap, πόσος χώρος είναι ελεύθερος και πόσος χώρος χρησιμοποιείται.

top

Σημείωση: Παρόμοια με την top, μπορείτε να δοκιμάσετε τις εντολές htop και glances, που δίνουν ακόμα περισσότερα στοιχεία για το λειτουργικό σύστημα. Η διαφορά είναι ότι η top είναι συνήθως προεγκατεστημένη στις περισσότερες διανομές linux, ενώ οι htop και glances θέλουν εγκατάσταση (π.χ. στο Debian/Ubuntu: sudo apt install htop glances)

Δείτε ακόμα:

Πως βρίσκουμε ποιες διεργασίες χρησιμοποιούν το swap του Linux και πόσο

Δώσε αστέρια!

MO: 4 (ψήφοι: 3)