什么可能会占用 100% 的 CPU,但不显示在(sudo)top 中

什么可能会占用 100% 的 CPU,但不显示在(sudo)top 中

当我启动 intellij 时,它会在启动时加载一个“haxe”项目,有时会发生 intellij 挂起加载的情况。然后我用“sudo”启动 htop(也试过 top)。iotop 也没有显示任何有趣的内容。

我可以看到我的一个 CPU 的使用率为“100%”(通常情况并非如此),但是 htop 没有显示任何使用该 CPU 的进程。

一个 CPU 使用率为 100% 的信息来自 htop。

还有什么会占用 100% 的 CPU 时间?我该如何找到它?

编辑

我收集了更多信息,vmstat 10 10(问题发生时)的输出是这样的:

procs -----------memory---------- ---swap-- -----io---- -system-- ------cpu-----
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 8  0      0 12013656 285632 2150392    0    0    63    47   71  244  5  1 93  1  0
11  0      0 12009724 285664 2150384    0    0     0    14  737 1238  6  4 90  0  0
11  0      0 11994592 285680 2150364    0    0     0     6  720  990  6  3 91  0  0
11  0      0 11994516 285704 2150364    0    0     0    12  689  610  6  3 91  0  0
11  0      0 12000456 285736 2150360    0    0     0    12  709  702  6  3 91  0  0
11  0      0 12000696 285760 2150364    0    0     0    22  696  630  6  3 91  0  0
11  0      0 12008016 285784 2150364    0    0     0    13  728  784  6  3 91  0  0
11  0      0 12008356 285816 2150356    0    0     0   232  678  924  6  3 90  0  0
11  0      0 12007908 285840 2150400    0    0     0    15  628  548  6  3 91  0  0
11  0      0 11998248 285872 2150392    0    0     0    35  978 1432 11  4 84  0  0

我还跑了:

ps -e -o state,pid,cmd | grep ^D

但输出是空的。

ps -e -o state,pid,cmd | grep \^R

返回:

R  1705 /usr/bin/gnome-shell
R  7113 zsh
R  7466 ps -e -o state,pid,cmd

(即使重复多次也不会改变)

答案1

Ubuntu 内核团队有一个 wiki,解释了如何识别耗电应用程序。这可能有一些有用的想法或技巧来调试你的这个问题。

看:https://wiki.ubuntu.com/Kernel/PowerManagement/IdentifyingIssues

top 是一款有用的工具,可用于查看 CPU 消耗最多的进程,但它无法轻松发现短暂的进程或创建后很快死亡的线程。对于这类消耗 CPU 的进程,我开发了 forkstat 来尝试追踪它们。它在 Ubuntu 的最新版本中可用,或者您可以从 ppa:colin-king/white 下载它(参见http://kernel.ubuntu.com/~cking/forkstat/

答案2

我最近遇到了这个问题。我发现这是由 microSD 的 SD 适配器引起的。当我插入带有两个分区(一个 8GB vfat 和一个 24GB ext2)的 32GB SDHC U1 Samsung microSD 时,Lubuntu 无法检测和安装该设备。在 top/lxtask 中,我没有看到任何使用 CPU 的进程,但是我的 CPU 使用率稳定在 100%。当卡被移除时,CPU 会降至 0%。

相关内容