为什么 htop 不显示与 top 相同的进程?

为什么 htop 不显示与 top 相同的进程?

我的家庭服务器的 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

  1. 前:

    在此处输入图片描述

  2. 取消选中隐藏内核线程设置时,按Esc离开屏幕,而不是F10

    在此处输入图片描述

  3. kthr注意光标处的新 (kthreads) 数量,以及k...显示的所有新进程。您可以像往常一样按 CPU 等对这些进程进行排序。除了名称(以/(末尾有一个),您还可以通过以下方式识别内核线程:非常低PID(注意到屏幕截图中的 1、2、3......17 吗?)

    在此处输入图片描述

相关内容