我的家庭服务器的 CPU 使用率有时高达 50% 到 70%。
在我最喜欢的进程管理器中htop
,我可以按 CPU 使用率对进程进行排序,但通常没有任何进程消耗超过 0% 的 CPU。另一方面,htop
显示整个系统的 CPU 使用率,如前所述,约为 50%。
我猜想对此有一个简单的解释,但我不知道。
也许有一些隐藏的进程?但即使以 root 身份运行也不会显示更多进程。
编辑:
我研究了top
,它显示了(至少)另外两个过程:
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
因此,我的 mdadm raid 当前正在重新同步,当我显示时已确认这一点/proc/mdstat
。(请参阅第一条评论。)
因此问题变成了:“为什么 htop 显示的进程与 top 不一样?”
答案1
为什么 htop 显示的进程与 top 不一样?
因为默认情况下隐藏内核线程,而 top 不隐藏。您可以在-settingshtop
中关闭此选项。F2htop
前:
取消选中隐藏内核线程设置时,按Esc离开屏幕,而不是
F10
。kthr
注意光标处的新 (kthreads) 数量,以及k...
显示的所有新进程。您可以像往常一样按 CPU 等对这些进程进行排序。除了名称(以钾/
(末尾有一个),您还可以通过以下方式识别内核线程:非常低PID(注意到屏幕截图中的 1、2、3......17 吗?)