Laman mati tengah malam, pangkalan data dimulakan semula tanpa sebab, SSH lembap sehingga tidak boleh sambung — punca paling biasa di sebalik gejala ini ialah kehabisan memori. Artikel ini menunjukkan cara mengesahkannya, bantuan kecemasan, dan penyelesaian kekal.
Langkah 1: sahkan ia memori
Log masuk melalui SSH dan jalankan free -h, fokus pada lajur available: sentiasa bawah 200 MB bermakna tekanan memori. Kemudian jalankan dmesg | grep -i kill — jika anda nampak Out of memory: Killed process, OOM Killer kernel telah menamatkan proses, itulah sebabnya servis anda "hilang secara misteri".
Langkah 2: cari apa yang makan memori
Jalankan top dan tekan Shift+M untuk susun ikut memori. Suspek biasa:
- MySQL: tetapan lalai menganggap RAM banyak — pada mesin kecil turunkan innodb_buffer_pool_size;
- PHP-FPM: terlalu banyak proses pekerja — anggarkan max_children sebagai RAM tersedia ÷ penggunaan setiap proses;
- Aplikasi lari kawalan: proses Node.js atau Java yang bocor membesar sehingga semuanya habis.
Langkah 3: tambah swap sebagai bantuan kecemasan
Swap ialah ruang cakera bertindak sebagai memori sandaran, menghalang OOM Killer daripada bertindak serta-merta. Imej VPS biasanya tiada swap. Untuk tambah 2 GB: cipta fail swap dengan fallocate, tetapkan kebenaran dengan chmod 600, format dengan mkswap, aktifkan dengan swapon, dan tambah ke /etc/fstab supaya kekal selepas but semula. Ingat swap hanyalah penimbal: apabila RAM benar-benar kurang, sistem menjadi perlahan dan bukannya ranap — memberi anda masa untuk menyiasat.
Penyelesaian jangka panjang
Jika memori tersedia masih rendah selepas penalaan dan penggunaan swap kekal tinggi, beban kerja anda telah melebihi pelan — menaik taraf RAM ialah penyelesaian paling jimat. 00Shark menyokong naik taraf pelan; hubungi sokongan dengan penggunaan semasa anda untuk penilaian.