Mengapa tidak berhenti menampilkan proses yang sama seperti atas?

18

Saya memiliki server rumah yang terkadang beroperasi pada tingkat penggunaan CPU yang tinggi sekitar 50 hingga 70 persen.

Dalam htop, manajer proses favorit saya, saya dapat mengurutkan proses berdasarkan penggunaan CPU, tetapi seringkali tidak ada proses yang menghabiskan lebih dari 0% CPU. Di sisi lain, htopmenampilkan seluruh penggunaan CPU dari sistem yang sekitar 50 persen, seperti yang dikatakan sebelumnya.

Saya kira ada penjelasan yang mudah untuk ini, tetapi saya tidak mengetahuinya.

Mungkin ada beberapa proses tersembunyi? Tetapi bahkan menjalankannya sebagai root tidak menunjukkan lebih banyak proses.

EDIT:

Saya melihat ke dalam top, yang menunjukkan (setidaknya) dua proses lagi:

  230 root      20   0     0    0    0 R 37.4  0.0 107:06.59 md127_raid5                                          
20403 root      35  15     0    0    0 D  9.6  0.0   2:45.78 md127_resync   

Jadi raid mdadm saya sedang melakukan penyinkronan ulang, yang telah dikonfirmasi ketika saya ditampilkan /proc/mdstat. (Lihat komentar pertama.)

Jadi ini membalik pertanyaan: "Mengapa tidak berhenti menampilkan proses yang sama dari atas?"

tema
sumber
topmenunjukkan lebih banyak proses. Proses yang dimaksud adalah milik mdadm, yang saat ini sedang melakukan sinkronisasi ulang seperti yang saya ketahui. topmenunjukkan proses dengan nama md127_raid5dan md127_resync. Yang pertama berjalan sejak mem-boot sistem, yang terakhir sejak resync telah dipicu. Jadi ini membalik pertanyaan: "Mengapa tidak berhenti menampilkan proses yang sama dari atas?"
leem

Jawaban:

19

Mengapa htop tidak menampilkan proses yang sama dari atas?

Karena htopmenyembunyikan utas kernel secara default, sedangkan top tidak. Anda dapat menonaktifkan opsi ini di F2-setting di htop.

  1. Sebelum:

    masukkan deskripsi gambar di sini

  2. Hapus centang pengaturan Sembunyikan utas kernel , tekan Escuntuk meninggalkan layar alih-alih F10.

    masukkan deskripsi gambar di sini

  3. Perhatikan jumlah baru kthr(kthreads) pada kursor, dan semua k...proses baru yang muncul. Anda dapat mengurutkan ini dengan CPU, dll. Seperti biasa. Terlepas dari namanya (dimulai dengan k , memiliki /akhir), Anda juga dapat mengidentifikasi utas kernel dengan PID mereka yang sangat rendah (perhatikan 1, 2, 3 ... 17 di tangkapan layar?)

    masukkan deskripsi gambar di sini

ish
sumber
Terima kasih banyak. Ini adalah sesuatu yang ingin saya ketahui selama bertahun-tahun! Dan solusinya sangat sederhana ... Terima kasih untuk tangkapan layar yang bagus :)
leemes
1
Tombol pintasnya adalah H (shift + h).
glebm
2
@ glebm (terlambat, tapi saya pikir layak untuk ditambahkan;)): Tombol pintas untuk menampilkan utas kernel adalah K(Shift + k). Tombol pintas H(Shift + h) menampilkan (atau menyembunyikan, jika sudah ditampilkan) utas pengguna .
Henning Kockerbeck