2
我们有一个Java应用程序,它始终显示100%的CPU使用率。当我发现top
命令发现一些奇怪的结果时,我试图找出是否有一些主导线程。top命令显示线程 - 这是一种延迟?
如果我运行top
,它显示了一个 java进程有100%的CPU时间。然后我输入H
来显示线程,它开始于显示几个每个都有100%的Java线程。但是,在下次刷新时,它显示了不同的批次的几个Java线程,每个线程都有100%的CPU。下一次刷新,另一批。这一直持续着几个刷新周期,通过100个CPU的100个线程。最后,它解决了十几个Java线程,每个线程都有大约10%的CPU时间。这个“最终”线程集合是相同的线程,一开始就显示100%的CPU时间,但现在它们每个只有10%。如果直接运行top -H
,我直接进入最终设置。
我的直觉是Java线程的100%CPU有些虚假。但我无法找到解释。
我在Debian Wheezy框中。
今天刚刚获悉,'top'命令计算指数加权移动平均(EWMA)。但仍然没有解释我所看到的。 – neurite