Ιστολόγιο

Οδηγοί, εγχειρίδια και νέα προϊόντων.

Οδηγοί

Ο server μου έγινε αργός: πώς ελέγχετε RAM, CPU και δίσκο

2 Νοεμβρίου 2026 6 λεπ. ανάγνωσης
Κοινοποίηση ανάρτησης

Αν ο server σας επιβραδύνθηκε, κοιτάξτε τρία πράγματα: RAM, CPU και δίσκο. Συνδεθείτε και εκτελέστε τρεις εντολές: free -h για τη μνήμη, top για τον επεξεργαστή και df -h για τον δίσκο. Όποιο είναι γεμάτο είναι το σημείο συμφόρησης. Αν και τα τρία φαίνονται εντάξει, το πρόβλημα βρίσκεται συνήθως στην ίδια την εφαρμογή.

Ξεκινήστε από το φορτίο

Το load average είναι ο μέσος αριθμός διεργασιών που περιμένουν την CPU ή τον δίσκο. Οι τρεις πρώτοι αριθμοί στο παρακάτω αποτέλεσμα είναι οι μέσοι όροι του τελευταίου 1, 5 και 15 λεπτού. Συγκρίνετέ τους με τον αριθμό των πυρήνων σας:

cat /proc/loadavg

nproc

Αν το φορτίο μένει πάνω από τον αριθμό των πυρήνων για πολύ ώρα, ο server δεν προλαβαίνει τη δουλειά του.

RAM: free -h

free -h

Η σημαντικότερη στήλη είναι η available. Αν είναι πολύ μικρή και η γραμμή Swap γεμίζει, έχετε εξαντλήσει τη RAM. Όταν τελειώνει η μνήμη, ο πυρήνας τερματίζει μία από τις διεργασίες που χρησιμοποιούν την περισσότερη μνήμη (OOM killer). Μια βάση δεδομένων ή εφαρμογή web που κλείνει μόνη της είναι συχνά ένδειξη αυτού. Ελέγξτε ως εξής:

sudo dmesg -T | grep -i -E "out of memory|killed process"

CPU: top

top

Στην οθόνη που ανοίγει, το πλήκτρο P ταξινομεί τις διεργασίες κατά χρήση CPU και το M κατά χρήση μνήμης. Πατήστε q για έξοδο. Στη γραμμή CPU στην κορυφή, δείτε τα εξής:

  • us: το μερίδιο των διεργασιών χρήστη. Αν είναι υψηλό, μια εφαρμογή καταναλώνει την CPU.
  • wa: χρόνος αναμονής για είσοδο και έξοδο δίσκου. Αν είναι υψηλός, το πρόβλημα δεν είναι η CPU αλλά ο δίσκος.
  • st: χρόνος που «κλέβεται» από τον εικονικό server, δηλαδή χρόνος που το επίπεδο εικονικοποίησης έδωσε την CPU σε κάτι άλλο. Αν μένει υψηλός, το πρόβλημα μπορεί να μην είναι μέσα στον server σας. Σε αυτή την περίπτωση, επικοινωνήστε με την υποστήριξη.

Δίσκος: df -h

df -h

df -i

Η πρώτη εντολή δείχνει τον χώρο που χρησιμοποιείται και η δεύτερη το όριο του αριθμού αρχείων (inodes). Όταν ο δίσκος γεμίσει εντελώς, οι βάσεις δεδομένων και οι εφαρμογές δεν μπορούν να γράψουν και ο server επιβραδύνεται ή βγάζει σφάλματα. Βρείτε τι πιάνει τον χώρο:

sudo du -xh / --max-depth=1 2>/dev/null | sort -h | tail -n 8

Αν τα αρχεία καταγραφής του συστήματος έχουν μεγαλώσει, μπορείτε να τα μικρύνετε με sudo journalctl --vacuum-size=200M. Αν χρησιμοποιείτε Docker, το docker system df δείχνει τον χώρο που χρησιμοποιούν οι εικόνες και τα containers, και το docker stats --no-stream δείχνει πόση CPU και μνήμη χρησιμοποιεί κάθε container.

Σύμπτωμα, πιθανή αιτία και διόρθωση

ΣύμπτωμαΠιθανή αιτίαΤι πρέπει να κάνετε
Οι σελίδες είναι αργές κατά διαστήματα, το available είναι χαμηλό, το swap είναι γεμάτοΔεν αρκεί η RAMΣταματήστε υπηρεσίες που δεν χρειάζεστε και περιορίστε τις ρυθμίσεις μνήμης της εφαρμογής (για παράδειγμα τον αριθμό των workers του PHP-FPM ή τη μνήμη της βάσης). Αν δεν αρκεί, αναβαθμίστε τον server.
Μια υπηρεσία κλείνει μόνη της, το «killed process» εμφανίζεται στο αποτέλεσμα του dmesgΗ μνήμη τελείωσε και επενέβη ο OOM killerΠροσθέστε RAM ή μειώστε τη χρήση μνήμης.
Μία διεργασία στο top κρατά έναν ολόκληρο πυρήνα πλήρως απασχολημένοΜια κολλημένη διεργασία, ένα προβληματικό πρόσθετο ή ένας βρόχοςΒρείτε τη διεργασία και μετά διορθώστε ή απενεργοποιήστε την εφαρμογή ή το πρόσθετο που βρίσκεται πίσω της.
Το φορτίο είναι υψηλό, η CPU αδρανεί, το wa είναι υψηλόΠεριμένει ο δίσκος (βαριές εγγραφές ή swap)Δείτε τις στήλες si και so στο vmstat 1 5. Αν χρησιμοποιείται swap, προσθέστε RAM.
Το df -h ή το df -i είναι γεμάτοΤέλος χώρου στον δίσκο ή στα inodesΚαθαρίστε μεγάλα αρχεία και αρχεία καταγραφής. Αν συνεχίσει να γεμίζει, αναβαθμίστε.
Το st μένει υψηλόΤο πρόβλημα μπορεί να είναι εκτός του server σαςΕπικοινωνήστε με την υποστήριξη.

Στο Seturack η ταχύτητα δίσκου κάθε server έχει όριο: σταθερά 500 MB/s και 20.000 IOPS για αναγνώσεις, και 200 MB/s και 8.000 IOPS για εγγραφές. Αν οι τιμές σας στο αποτέλεσμα του iostat -x 1 5 κινούνται σε αυτούς τους αριθμούς, το φορτίο του δίσκου είναι αυτό που σας επιβραδύνει. Μειώστε τη δουλειά με caching ή απλώστε την στον χρόνο. Αν λείπει το iostat, εγκαταστήστε το με sudo apt install -y sysstat.

Πότε βοηθά το swap;

Το swap χρησιμοποιεί τον δίσκο στη θέση της RAM. Επιτρέπει στον server να αντέξει σύντομες αιχμές μνήμης χωρίς τον OOM killer, αλλά δεν είναι τόσο γρήγορο όσο η RAM. Αν τα si και so στο αποτέλεσμα του vmstat 1 5 μένουν πάνω από το μηδέν, ο server γράφει συνεχώς στο swap. Η λύση είναι RAM και όχι swap. Αν δεν έχετε swap (το swapon --show δεν τυπώνει τίποτα) και θέλετε να εξομαλύνετε τις αιχμές, μπορείτε να προσθέσετε ένα αρχείο swap 2 GB. Αυτές οι εντολές είναι για σύστημα αρχείων ext4:

sudo fallocate -l 2G /swapfile && sudo chmod 600 /swapfile

sudo mkswap /swapfile && sudo swapon /swapfile

echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

Αν οι πόροι φαίνονται εντάξει

Αν η RAM, η CPU και ο δίσκος φαίνονται άνετα, ελέγξτε το όνομα της κορυφαίας διεργασίας στο top:

  • Αν στην κορυφή βρίσκεται το php-fpm, το apache2 ή το nginx, το πρόβλημα είναι συνήθως ο ίδιος ο ιστότοπος: ένα βαρύ πρόσθετο, έλλειψη caching ή ξαφνική αύξηση επισκεπτών.
  • Αν στην κορυφή βρίσκεται το mysqld ή το mariadbd, υπάρχουν αργά ερωτήματα. Ενεργοποιήστε το slow query log της βάσης και δείτε ποια ερωτήματα αργούν.
  • Αν μια διεργασία που δεν αναγνωρίζετε συνεχίζει να καταναλώνει CPU, ο server μπορεί να έχει παραβιαστεί. Αλλάξτε τους κωδικούς σας, ελέγξτε τις ανοιχτές συνεδρίες και το αποτέλεσμα του sudo ss -tulpn, και κάντε επανεγκατάσταση του server με καθαρό σύστημα αν χρειαστεί.

Πότε να αναβαθμίσετε

Η σειρά είναι: πρώτα βελτιστοποίηση, μετά caching, κλείστε την περιττή δουλειά. Αν το φορτίο παραμένει υψηλό μετά από αυτά, αναβαθμίστε τον server. Στο πάνελ, ανοίξτε την καρτέλα Μέγεθος του server σας, μετακινήστε τα sliders στο νέο μέγεθος και επιβεβαιώστε. Μετά την πληρωμή, ο server επανεκκινεί μία φορά μόνος του και επιστρέφει στο νέο μέγεθος. Η διεύθυνση IP και τα δεδομένα σας μένουν ίδια και πληρώνετε μόνο τη διαφορά για τις υπόλοιπες ημέρες. Μπορείτε να αυξήσετε RAM, vCores και δίσκο ξεχωριστά, ώστε να ανεβάζετε μόνο ό,τι σας λείπει. Η αναβάθμιση μεγαλώνει τον δίσκο, ενώ η μείωση δεν τον μικραίνει. Για λεπτομέρειες, δείτε το άρθρο για την αναβάθμιση και μείωση.

Αν ο server δεν ανταποκρίνεται καθόλου λόγω φορτίου, το SSH μπορεί να μη συνδεθεί. Σε αυτή την περίπτωση, ανοίξτε την κονσόλα VNC από το πάνελ ή επανεκκινήστε τον server από το πάνελ.

Σχόλια0

Δεν υπάρχουν ακόμη σχόλια

Μοιραστείτε πρώτοι τις σκέψεις σας.

Συμμετοχή στη συζήτηση

Συνδεθείτε ή εγγραφείτε για να αφήσετε σχόλιο.

Μην χάνετε καμία ανάρτηση

Λάβετε το πιο πρόσφατο εκπαιδευτικό υλικό, οδηγούς και νέα προϊόντων στο email σας.

Εγγραφήκατε στο ενημερωτικό μας δελτίο.