Tempah Konsultasi Hantar Tiket

Buku Panduan SRE Linux: Penyelesaian Masalah Pengeluaran untuk Insiden Beban Tinggi

Panduan langkah demi langkah untuk mendiagnosis dan menyelesaikan beban CPU/memori tinggi pada pelayan Linux yang disebabkan oleh proses sesat, dengan langkah keselamatan dan pengembalian.

Buku Panduan SRE Linux: Penyelesaian Masalah Pengeluaran untuk Insiden Beban Tinggi
DevOps 6min 41 paparan 2026-07-14
LinuxSRERunbookTroubleshooting

Senario Pelayan web pengeluaran (RHEL 8) mengalami purata beban tinggi (contohnya, 50+ pada mesin 16 teras), menyebabkan masa tindak balas perlahan dan ralat 503 berselang. SRE yang bertugas perlu mengenal pasti proses penyebab dan memulihkan operasi normal tanpa menyebabkan gangguan.

Gejala - Purata beban > bilangan teras CPU - uptime menunjukkan beban melebihi ambang - top menunjukkan proses menggunakan >90% CPU atau memori - Pemeriksaan kesihatan aplikasi gagal secara berselang - Sambungan baru ke pelayan tamat masa

Diagnosis 1. SSH ke pelayan (menggunakan hos bastion). 2. Jalankan uptime untuk mengesahkan beban. 3. Jalankan top -o %CPU -n 1 untuk mengenal pasti pengguna CPU teratas. 4. Gunakan ps aux --sort=-%cpu | head untuk maklumat proses terperinci. 5. Jika proses tidak dikenali, periksa dengan systemctl status <perkhidmatan> atau ls -l /proc/<PID>/exe. 6. Gunakan strace -p <PID> -c -S time 2>&1 | head -20 untuk melihat profil panggilan sistem (jika strace tersedia, tetapi elakkan jalan lama dalam pengeluaran). 7. Periksa log: journalctl -u <perkhidmatan> --since "5 min yang lalu". 8. Sahkan sama ada proses itu aplikasi sah atau berniat jahat.

Arahan

# Periksa beban
uptime
# Proses teratas
top -b -o %CPU -n 1 | head -20
# Maklumat proses terperinci
ps -p <PID> -o pid,ppid,user,%cpu,%mem,cmd,etime
# Periksa fail terbuka
lsof -p <PID>
# Jika proses tersekat, hantar SIGTERM
kill -TERM <PID>
# Jika tidak responsif, bunuh dengan SIGKILL (langkah terakhir)
kill -KILL <PID>
# Mulakan semula perkhidmatan
systemctl restart <perkhidmatan>

Kawalan Risiko - Jangan bunuh proses tanpa mengenal pastinya terlebih dahulu. - Gunakan SIGTERM (15) sebelum SIGKILL (9). - Jika menggunakan strace, hadkan tempoh (contohnya, -c untuk ringkasan). - Pastikan anda mempunyai rancangan pengembalian (contohnya, sandaran konfigurasi, artifak penggunaan). - Elakkan menjalankan arahan yang boleh memburukkan beban (contohnya, find / tanpa sekatan).

Pengembalian Jika proses yang dibunuh adalah kritikal: 1. Pulihkan dari sandaran: cp /backup/config /etc/service/config 2. Mulakan semula perkhidmatan: systemctl restart service 3. Sahkan dengan systemctl status service dan titik akhir kesihatan aplikasi.

Pengesahan - Jalankan uptime semula; beban harus menurun. - Periksa top untuk memastikan proses telah ditamatkan. - Akses titik akhir kesihatan aplikasi (contohnya, curl http://localhost:8080/health). - Pantau selama 5 minit: watch -n 1 'uptime; ps aux --sort=-%cpu | head -5'.

Bila Perlu Menghantar Tiket OpsGlobal - Jika punca akar tidak jelas atau isu berulang. - Jika anda mengesyaki kebocoran memori atau pepijat kernel. - Jika proses adalah sebahagian daripada sistem teragih kompleks dan memerlukan penyiasatan merentas pasukan. - Apabila anda perlu meningkatkan kepada SRE kanan atau pasukan infrastruktur.

Senario Penggunaan

Sesuai untuk pasukan yang menyelesaikan isu DevOps dan memerlukan aliran kerja yang jelas.

Latar Belakang Masalah

Panduan langkah demi langkah untuk mendiagnosis dan menyelesaikan beban CPU/memori tinggi pada pelayan Linux yang disebabkan oleh proses sesat, dengan langkah keselamatan dan pengembalian.

Langkah Penyelesaian

Sahkan impak dan perubahan terkini, kumpul log, konfigurasi dan metrik, kemudian baiki mengikut risiko.

Contoh Arahan

Gantikan contoh dengan nama sumber sebenar dan simpan kata laluan, token atau kunci dalam pembolehubah persekitaran.

Risiko

Sebelum operasi produksi, semak sandaran, akses, tetingkap perubahan dan pelan rollback.

Pelan Rollback

Simpan konfigurasi dan versi asal; rollback konfigurasi, imej atau perubahan pangkalan data jika metrik tidak normal.

Senarai Serahan

Rekod punca isu, arahan penting, langkah pembaikan, hasil pengesahan dan cadangan susulan.

!

Perlu bantuan isu teknikal serupa?

Jika pelayan, Kubernetes, Docker, CI/CD, pangkalan data atau pemantauan anda bermasalah, hantar log dan konfigurasi untuk diagnosis jauh.

Tiket Hubungi WhatsApp Konsultasi