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, htop
menampilkan 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?"
top
menunjukkan lebih banyak proses. Proses yang dimaksud adalah milikmdadm
, yang saat ini sedang melakukan sinkronisasi ulang seperti yang saya ketahui.top
menunjukkan proses dengan namamd127_raid5
danmd127_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?"Jawaban:
Karena
htop
menyembunyikan utas kernel secara default, sedangkan top tidak. Anda dapat menonaktifkan opsi ini di F2-setting dihtop
.Sebelum:
Hapus centang pengaturan Sembunyikan utas kernel , tekan Escuntuk meninggalkan layar alih-alih
F10
.Perhatikan jumlah baru
kthr
(kthreads) pada kursor, dan semuak...
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?)sumber
K
(Shift + k). Tombol pintasH
(Shift + h) menampilkan (atau menyembunyikan, jika sudah ditampilkan) utas pengguna .