如何查看 Linux 中所有最耗 CPU 的进程?

如何查看 Linux 中所有最耗 CPU 的进程?

“CPU 频率调节监视器”小程序显示我的 CPU 大部分时间都以最大速度运行:

CPU 监视器处于最大

然而命令的结果top总是显示top进程都在2%左右,一切如常。

顶部 - 一切似乎正常

系统监视器也无济于事:

系统监视器

因此,在我看来,它top并没有显示所有消耗 CPU 的进程。有没有办法查看所有进程,使用top还是其他命令?

笔记:

  • 我没有在这台电脑上运行任何特殊任务(目前只有 Firefox、LibreOffice 和终端)。
  • CPU 频率调节监视器小程序在 Powersave 上设置。
  • 我已经尝试重新启动计算机,看看问题是否消失(但没有)。

更新:命令结果vmstat 1 5

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 0  0      0 30014208 115912 965100    0    0    14     4   37  143  1  0 98  0  0
 0  0      0 30013956 115912 965100    0    0     0     0  179  392  0  0 99  0  0
 0  0      0 30013956 115920 965100    0    0     0    24  159  280  0  0 99  0  0
 0  0      0 30010932 115920 965100    0    0     0   200  313  989  1  0 99  0  0
 0  0      0 30010932 115920 965104    0    0     0     0  157  316  0  0 99  0  0

编辑:14 个月后,CPU 频率调节监视器问题似乎消失了。我想是某个系统更新修复了这个问题。

答案1

根据vmstat您的机器处于睡眠状态的结果:

 0  0      0 30010932 115920 965100    0    0     0   200  313  989  1  0 99  0  0

空闲时间 99% 来自处理器,只有 1% 处于加载状态。并引用一条评论:

CPU 频率调整是一个复杂的话题,取决于许多因素。CPU 负载当然是其中之一。请考虑 CPU 使用率核算和 CPU 频率报告之间也可能存在差异。

相关内容