Senario
Pelayan Linux pengeluaran yang menjalankan perkhidmatan web kritikal menjadi tidak responsif: pemeriksaan kesihatan gagal, masa tindak balas meningkat, dan pengguna melaporkan ralat.
Simptom
uptimemenunjukkan purata beban melebihi jumlah teras CPU (contoh: beban 20 pada mesin 16 teras).topmenunjukkan proses yang menggunakan CPU/memori tinggi atau dalam keadaan tidur tidak boleh diganggu (D state).vmstatmenunjukkan baris gilir jalan (r) secara konsisten melebihi bilangan teras, atau pertukaran yang ketara (si/sobukan sifar).iostatmelaporkan penggunaan cakera hampir 100% atau masa await > 100ms.- Permintaan
curlluaran tamat masa atau mengembalikan ralat 5xx.
Diagnosis
- Semakan cepat:
uptime,free -h,df -h. - Analisis CPU:
top -bn1 | head -20(isih mengikut CPU dengan P, memori dengan M). Kenal pasti proses abnormal. - Analisis memori:
vmstat 1 5; perhatikan aktiviti swap.cat /proc/meminfountuk butiran. - Analisis cakera:
iostat -x 1 5; fokus pada%util,r/s,w/s,await. Gunakaniotopuntuk mencari PID yang berat I/O. - Analisis rangkaian:
netstat -tan | grep :80 | wc -latau lebih pantasss -tn. Periksa kehabisan sambungan. - Log sistem:
journalctl -u <servis> --since "5 minit lalu"atautail -100 /var/log/syslog. - Penjejakan proses:
strace -p <PID> -cuntuk meringkaskan panggilan sistem;strace -p <PID> -e trace=networkuntuk panggilan rangkaian.
Kawalan Risiko
- Jangan
kill -9secara buta; gunakankill -0 <PID>untuk ujian, ataukill -3 <PID>untuk dump thread. - Elakkan memulakan semula perkhidmatan kecuali punca diketahui; simpan keadaan dahulu (
ps aux > /tmp/ps.before). - Jika disyaki kebocoran memori, tangkap
topdanpmapsebelum sebarang tindakan.
Pengembalian
- Perubahan konfigurasi: pulihkan dari sandaran (contoh:
cp /etc/nginx/nginx.conf.bak /etc/nginx/nginx.conf). - Kemas kini perisian: turun taraf melalui pengurus pakej (
apt-get install <pkg>=<versi>atauyum downgrade). - Jika tidak diketahui, mulakan semula perkhidmatan atau skala keluar (jika diorchestrasi).
Pengesahan
- Kesihatan perkhidmatan:
curl -I http://localhost:80sepatutnya mengembalikan 200. - Beban normal:
uptimebeban kembali ke garis dasar. - Metrik: penggunaan CPU/memori menurun, I/O cakera normal.
- Jalankan pemeriksaan pemantauan sedia ada.
Bila Menghantar Tiket OpsGlobal
- Selepas 30 minit penyelesaian masalah tanpa punca jelas.
- Perlu penyahpepijatan kernel lanjutan (
perf,ftrace, analisis dump ranap). - Isu merentas berbilang nod atau kelompok.
- Perlu eskalasi peranti keras atau vendor.
Lampirkan pada tiket:
- Garis masa insiden dan simptom.
- Output arahan yang dilaksanakan (top -bn1, vmstat, iostat).
- Serpihan log yang relevan.
Senario Penggunaan
Sesuai untuk pasukan yang menyelesaikan isu DevOps dan memerlukan aliran kerja yang jelas.
Latar Belakang Masalah
Panduan praktikal untuk mendiagnosis isu prestasi pelayan Linux dalam pengeluaran, termasuk simptom, arahan, kawalan risiko, pengembalian, dan bila menghubungi OpsGlobal.
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.