【问题标题】:top command to show threads -- is this a delay of some sort?top 命令来显示线程——这是某种延迟吗?
【发布时间】:2013-06-12 19:40:02
【问题描述】:

我们有一个 Java 应用程序一直显示 100% 的 CPU 使用率。当我注意到top 命令的一些奇怪结果时,我试图找出是否有一些主导线程。

如果我运行top,它会显示一个具有 100% CPU 时间的 java 进程。然后我输入H 来显示线程,它首先显示几个 Java 线程,每个线程都100%。然而,下一次刷新,它再次显示了一个不同批次的几个 Java 线程,每个线程都具有 100% 的 CPU。下一次刷新,又一批。这种情况一直持续下去,几个刷新周期会通过 100 个左右的 100% CPU 线程。最后,它使用了十几个 Java 线程,每个线程都有大约 10% 的 CPU 时间。这组“最终”线程与在开始时显示 100% CPU 时间但现在每个只有 10% 的线程相同。如果直接运行top -H,我直接进入了最终集。

我的直觉是,Java 线程的 100% CPU 有点假。但我就是找不到解释。

我正在使用 Debian Wheezy 盒子。

【问题讨论】:

  • 今天刚刚了解到top 命令在 15 分钟窗口上计算指数加权移动平均线 (EWMA)。但仍然没有解释我看到了什么。

标签: java linux multithreading top-command


【解决方案1】:

使用 perl 线程我已经超过 100%,所以我认为 top 绝对不是线程感知的。

PID   USER    PR NI VIRT RES SHR  S %CPU  %MEM TIME+   COMMAND
19841 v807576 15 0  402m 13m 2184 S 498.7 0.1  9:14.71 mt_analyze_ets

其实不然。使用 -H 选项我得到这个:

PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+COMMAND                                                                                         
18118 v807576   18   0  653m  22m 2164 R 96.3  0.1   0:02.98 mt_analyze_et                                                                                
18124 v807576   18   0  653m  22m 2164 R 96.3  0.1   0:02.98 mt_analyze_ets                                                                                 
18117 v807576   18   0  653m  22m 2164 R 95.3  0.1   0:02.95 mt_analyze_ets                                                                                 
18121 v807576   18   0  653m  22m 2164 R 94.7  0.1   0:02.93 mt_analyze_ets                                                                                 
18127 v807576   18   0  653m  22m 2164 R 94.3  0.1   0:02.92 mt_analyze_ets                                                                                 
18133 v807576   18   0  653m  22m 2164 R 94.3  0.1   0:02.92 mt_analyze_ets                                                                                 
18136 v807576   18   0  653m  22m 2164 R 94.3  0.1   0:02.92 mt_analyze_ets                                                                                 
18145 v807576   18   0  653m  22m 2164 R 94.0  0.1   0:02.91 mt_analyze_ets                                                                                 
18142 v807576   18   0  653m  22m 2164 R 93.1  0.1   0:02.88 mt_analyze_ets                                                                                 
18130 v807576   18   0  653m  22m 2164 R 92.1  0.1   0:02.85 mt_analyze_ets                                                                                 
18148 v807576   18   0  653m  22m 2164 R 90.8  0.1   0:02.81 mt_analyze_ets                                                                                 
18116 v807576   18   0  653m  22m 2164 S  5.2  0.1   0:00.16 mt_analyze_ets   

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-02
    • 2015-08-25
    • 2015-10-06
    • 2023-03-06
    • 1970-01-01
    相关资源
    最近更新 更多