Οι μικροί servers ξεμένουν από μνήμη στις χειρότερες στιγμές: ένα apt upgrade, ένα build Docker, ένα νυχτερινό backup. Χωρίς swap, ο OOM killer του kernel διαλέγει μια διεργασία και την τερματίζει, συχνά τη βάση δεδομένων σας. Ένα αρχείο swap είναι μια φτηνή ζώνη ασφαλείας που δίνει σε αυτές τις αιχμές κάπου να πάνε. Χρειάζεται πέντε εντολές.
1. Δείτε τι έχετε
swapon --show
free -h
Αν το swapon --show δεν βγάλει τίποτα, δεν υπάρχει ακόμα swap.
2. Δημιουργήστε το αρχείο swap
fallocate -l 2G /swapfile
chmod 600 /swapfile
mkswap /swapfile
swapon /swapfile
Το chmod 600 έχει σημασία: το swap μπορεί να περιέχει κομμάτια από οτιδήποτε ήταν στη μνήμη, και μυστικά, οπότε μόνο ο root πρέπει να μπορεί να το διαβάσει. Αν το fallocate αποτύχει με «operation not supported», χρησιμοποιήστε αντ' αυτού το dd:
dd if=/dev/zero of=/swapfile bs=1M count=2048 status=progress
3. Κάντε το μόνιμο
Χωρίς αυτό το βήμα, το swap εξαφανίζεται μετά την επανεκκίνηση:
echo '/swapfile none swap sw 0 0' >> /etc/fstab
4. Ρυθμίστε το swappiness
Πείτε στον kernel να προτιμά τη RAM και να χρησιμοποιεί το swap κυρίως υπό πίεση:
echo 'vm.swappiness=10' > /etc/sysctl.d/99-swap.conf
sysctl --system
5. Επαληθεύστε
swapon --show
free -h
Πρέπει να βλέπετε μια συσκευή swap 2 GB, και το cat /proc/sys/vm/swappiness πρέπει να τυπώνει 10.
Πόσο μεγάλο να είναι;
- Server με 1–2 GB RAM: 1–2 GB swap.
- 4 GB και πάνω: 1–2 GB αρκούν ακόμα ως δίχτυ ασφαλείας.
Μην ορίζετε το swap στο «διπλάσιο της RAM». Σε έναν server, το swap υπάρχει για να απορροφά σύντομες αιχμές, όχι για να τρέχει φόρτους που δεν χωρούν στη μνήμη.
Όταν το swap δεν είναι η απάντηση
Παρακολουθήστε το για λίγες μέρες:
vmstat 5
Οι στήλες si και so δείχνουν σελίδες που μπαίνουν και βγαίνουν από το swap ανά δευτερόλεπτο. Περιστασιακή δραστηριότητα είναι εντάξει. Σταθερές μη μηδενικές τιμές σημαίνουν ότι ο server έχει έλλειψη μνήμης και όλα περιμένουν τον δίσκο. Τότε η λύση είναι περισσότερη RAM· δείτε πόση RAM χρειάζεται ένα VPS. Στο EQVPS μπορείτε να περάσετε σε μεγαλύτερο πακέτο χωρίς επανεγκατάσταση· τα δεδομένα σας μένουν.
Σχόλια
Δεν υπάρχουν ακόμη σχόλια. Γίνετε ο πρώτος.