GNU/Linux >> Belajar Linux >  >> Linux

Deteksi Proses Makan Cpu Tanpa :Top, Htop, Ps?

Saya mengalami masalah di mana saya hanya bisa menebak proses apa yang memakan cpu.

Penggunaan cpu saya sekitar 80% untuk semua core di psensor.

Saya mencoba htop , top dan ps -A -o pcpu,pid,cmd --sort +pcpu (yang terakhir saya bahkan mencoba dengan sudo tetapi tidak berhasil).
Semua ini menunjukkan pid pelakunya (yang saya ketahui) hanya menggunakan sekitar 7%…

Saat saya SIGKILL di pid itu, semuanya kembali normal.

Untuk menguji, saya melakukan infinite loop pada terminal while true;do echo -n;done tapi saya bisa melihat dengan jelas di htop; jadi tebakanku apa yang menyebabkan masalah tidak mirip dengan itu…

Jadi saya ingin tahu apakah ada cara lain agar saya bisa menemukan pelakunya tanpa harus menebak?

Memikirkan lagi, saya pikir saya ingin tahu perhitungan apa psensor dan penggunaan “applet indikator beban sistem” yang dapat menunjukkan nilai tersebut tetapi yang lain tidak dapat?

PS.:menautkan tentang waktu tunggu,
menautkan tentang rata-rata pemuatan

Jawaban yang Diterima:

Saya tidak cukup akrab dengan detail untuk memberikan petunjuk yang tepat, tetapi saya kira ada dua sumber perbedaan antara beban yang disebabkan sebenarnya dan penggunaan CPU yang ditampilkan:

  1. Prosesnya dapat terdiri dari beberapa utas dan top mungkin tidak merangkumnya. Anda dapat melihat jumlah utas dengan ini:

    ps -eo pid,nlwp,%cpu,user,args
    

    Di top Anda dapat mengganti penanganan utas dengan H . Penggunaan CPU setiap utas biasanya cukup rendah.

  2. Proses dapat menyebabkan banyak I/O. Waktu tunggu I/O adalah bagian dari keseluruhan beban CPU tetapi mungkin bukan bagian dari nilai penggunaan CPU suatu proses. Jadi periksa wait nilai di top . Itu tidak memberi tahu Anda proses mana yang menyebabkannya sejauh mana tetapi jika nilainya rendah maka itu tidak dapat menjelaskan efeknya.


Linux
  1. Konten Sysadmin teratas Februari 2021

  2. Linux :Lihat penggunaan CPU oleh suatu proses untuk detik terakhir

  3. batas waktu tanpa proses pembunuhan di bash

  1. Memecahkan masalah penggunaan CPU yang tinggi di Windows Server

  2. Dapatkan penggunaan CPU dalam skrip shell?

  3. Apa artinya %st di atas?

  1. Mendefinisikan variabel dengan atau tanpa ekspor

  2. Mendeteksi hangup soket tanpa mengirim atau menerima?

  3. Mendeteksi kematian proses induk