Tempah Konsultasi Hantar Tiket

Buku Panduan SRE Linux: Penyelesaian Masalah Pengeluaran Mendalam

Artikel ini membincangkan senario sebenar beban CPU tinggi pada pelayan Linux pengeluaran, meliputi gejala, arahan diagnostik, kawalan risiko, langkah balik, dan bila perlu merujuk kepada OpsGlobal.

Buku Panduan SRE Linux: Penyelesaian Masalah Pengeluaran Mendalam
DevOps 6min 5 paparan 2026-06-14
LinuxSREPenyelesaian Masalah

Senario: Pelayan Linux pengeluaran yang menjalankan aplikasi Java (contohnya nod pekerja Kubernetes) tiba-tiba mengalami beban CPU tinggi (purata beban > 4x bilangan teras CPU). Pengguna melaporkan masa respons perlahan dan tamat masa. Amaran dicetuskan dari pemantauan (cth. Prometheus + Alertmanager).

Gejala: - Purata beban tinggi: uptime menunjukkan beban > 8 pada mesin 4 teras - Penggunaan CPU tinggi: top menunjukkan >90% us atau sy - Latensi respons aplikasi meningkat - Pertukaran konteks mungkin meningkat: vmstat menunjukkan cs > 10000

Diagnosis: 1. Periksa kesihatan keseluruhan sistem: top (isih mengikut CPU), htop untuk paparan setiap teras. 2. Kenal pasti proses penyebab: ps aux --sort=-%cpu | head -5 3. Selidiki dengan strace -c -p <PID> untuk kiraan panggilan sistem, atau strace -T -p <PID> untuk pemasaan. 4. Gunakan perf top untuk melihat fungsi yang panas. 5. Periksa jika berkaitan kernel: vmstat 1 dan perhatikan sy tinggi; mpstat -P ALL 1 untuk pecahan setiap CPU. 6. Untuk aplikasi Java, gunakan jstack atau jcmd untuk menangkap buangan thread dan analisis dengan alat seperti FastThread.

Arahan:

# Penilaian cepat
uptime
top -b -n1 | head -20

# Cari proses penggunaan CPU tertinggi
ps aux --sort=-%cpu | head -10

# Pantau statistik sistem
vmstat 1 5
mpstat -P ALL 1 5

# Profil proses tertentu
sudo strace -c -p <PID>  # jalankan selama 10 saat, kemudian Ctrl+C
sudo perf top -p <PID>   # profil masa nyata

# Untuk Java: dapatkan buangan thread
jstack <PID> > threaddump.txt

Kawalan Risiko: - Jangan bunuh proses tanpa memahami peranannya. Jika perkhidmatan kritikal, pertimbangkan untuk memulakan semula dengan anggun. - Gunakan strace dengan berhati-hati pada pengeluaran: ia boleh memperlahankan proses. Hadkan tempoh (cth strace -c -p <PID> & sleep 10; kill %1). - Elakkan menjalankan perf tanpa kebenaran yang betul (gunakan sudo) dan berhati-hati dengan kesan prestasi. - Untuk Java, pastikan anda mempunyai tetapan log dan buangan timbunan yang betul sebelum memaksa but semula.

Balik Semula: - Jika masalah bermula selepas penggunaan atau perubahan konfigurasi terkini, balikkan perubahan tersebut. - Mulakan semula perkhidmatan: systemctl restart <service> atau kubectl rollout restart deployment/<name>. - Jika perlu, tingkatkan replika untuk mengagihkan beban sementara. - Untuk isu kernel atau sistem, pertimbangkan untuk but semula ke versi kernel yang diketahui baik.

Pengesahan: - Selepas pemulihan, periksa uptime dan top untuk mengesahkan beban telah berkurang. - Sahkan kesihatan aplikasi melalui titik akhir atau papan pemuka pemantauan. - Jalankan beberapa transaksi ujian untuk memastikan masa respons normal. - Pantau selama 15-30 minit seterusnya untuk berulang.

Bila Hantar Tiket OpsGlobal: - Jika punca utama tidak jelas walaupun diagnostik teliti. - Jika masalah berterusan selepas menggunakan langkah balik standard. - Jika pelarasan tahap kernel diperlukan (cth. penjadual, imbangan IRQ). - Jika anda mengesyaki kebocoran memori atau isu perkakasan. - Bila-bila masa anda memerlukan pandangan kedua atau liputan 24/7.

Senario Penggunaan

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

Latar Belakang Masalah

Artikel ini membincangkan senario sebenar beban CPU tinggi pada pelayan Linux pengeluaran, meliputi gejala, arahan diagnostik, kawalan risiko, langkah balik, dan bila perlu merujuk kepada 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.

Tiket Hubungi WhatsApp Konsultasi