Tempah Konsultasi Hantar Tiket

Buku Panduan Produksi: Menyelesaikan Masalah Beban CPU Tinggi pada Pelayan Linux

Panduan langkah demi langkah untuk SRE mendiagnosis dan menyelesaikan isu beban CPU tinggi dalam persekitaran Linux produksi, dengan kawalan keselamatan dan kriteria eskalasi.

Buku Panduan Produksi: Menyelesaikan Masalah Beban CPU Tinggi pada Pelayan Linux
DevOps 6min 40 paparan 2026-06-24
LinuxSREPenyelesaian Masalah

Senario

Pelayan Linux produksi menjadi tidak responsif, amaran pemantauan menunjukkan penggunaan CPU melebihi 90% secara berterusan.

Simptom

  • Sambungan SSH lambat atau tamat masa
  • Masa respons aplikasi meningkat
  • top atau uptime menunjukkan purata beban tinggi

Diagnosis

  1. Masuk SSH ke pelayan menggunakan IP pengurusan atau pengurusan luar jalur (contohnya iDRAC).
  2. Jalankan top -b -n1, tekan P untuk menyusun mengikut CPU, kenal pasti proses teratas.
  3. Gunakan ps -eo pid,ppid,cmd,%cpu,%mem --sort=-%cpu | head untuk pengesahan.
  4. Periksa proses: ls -l /proc/<PID>/exe dan strace -p <PID> -c -S time 2>&1 untuk mengesan panggilan sistem.
  5. Gunakan perf top jika dipasang untuk profil prestasi.
  6. Periksa log sistem: journalctl -u <service> --since "5 minutes ago".

Perintah

  • Kumpul maklumat proses: ps -p <PID> -o pid,ppid,user,start,etime,%cpu,%mem,cmd
  • Analisis utas: top -H -p <PID> atau ps -L -p <PID>
  • Peta memori: pmap -x <PID>
  • Jejak tindanan: pstack <PID> atau gdb -batch -ex "thread apply all bt" -p <PID>
  • Laraskan keutamaan dengan nice: renice +10 <PID> (kurangkan persaingan CPU)

Kawalan Risiko

  • Sahkan proses bukan kritikal sebelum membunuhnya.
  • Gunakan kill -STOP <PID> untuk menjeda proses berbanding menamatkannya.
  • Jika proses adalah yatim atau zombi, periksa induk; mulakan semula perkhidmatan induk jika perlu.
  • Untuk perkhidmatan bukan teras, gunakan systemctl restart <service> daripada kill.
  • Elakkan menjalankan perf atau strace pada waktu puncak kerana ia menambah overhed.

Pengembalian

  • Jika proses terbunuh secara tidak sengaja, segera mulakan semula perkhidmatan: systemctl start <service> atau perintah manual.
  • Jika pelarasan keutamaan menyebabkan isu lain, pulihkan lalai dengan renice 0 <PID>.
  • Jika failover menjejaskan kesihatan kluster, tukar ke nod siap sedia.

Pengesahan

  • Jalankan top dan sahkan penggunaan CPU normal (contohnya <50%).
  • Periksa titik akhir kesihatan aplikasi: curl -I http://localhost:8080/health.
  • Pantau log untuk ralat baru: tail -f /var/log/syslog | grep -i error.
  • Sahkan masa respons dengan alat ujian beban.

Bila Menghantar Tiket OpsGlobal

  • Tidak dapat menentukan asal atau pemilikan proses.
  • Proses berulang kali dimulakan semula atau tidak boleh dibunuh (contohnya tersekat dalam keadaan D).
  • Analisis punca memerlukan semakan kod atau siasatan peringkat kernel.
  • Patch atau perubahan konfigurasi memerlukan kelulusan pengurusan perubahan.

Senario Penggunaan

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

Latar Belakang Masalah

Panduan langkah demi langkah untuk SRE mendiagnosis dan menyelesaikan isu beban CPU tinggi dalam persekitaran Linux produksi, dengan kawalan keselamatan dan kriteria eskalasi.

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