2

常に 100% の CPU 使用率を示す Java アプリがありました。topコマンドでいくつかの奇妙な結果に気付いたとき、いくつかの支配的なスレッドがあるかどうかを調べようとしていました。

を実行するtopと、CPU 時間が 100% の Java プロセスが1 つ表示されました。次にH、スレッドを表示するように入力しました。最初に、いくつかのJava スレッドがそれぞれ 100% で表示されました。ただし、次の更新では、それぞれ 100% の CPU を使用する複数の Java スレッドの別のバッチが再び表示されました。次の更新、別のバッチ。これは、100% CPU の 100 程度のスレッドを通過する数回の更新サイクルで何度も繰り返されました。最終的には、それぞれ約 10% の CPU 時間を使用する Java スレッドが 10 個ほどあるという状態に落ち着きました。この「最終的な」スレッドのセットは、最初は 100% の CPU 時間を示したスレッドと同じでしたが、現在はそれぞれ 10% しかありませんでした。直接実行top -Hすると、最終セットに直接到達しました。

私の直感では、Java スレッドの 100% の CPU はやや偽物でした。しかし、私はそれについての説明を見つけることができませんでした。

Debian Wheezy ボックスを使用しています。

4

1 に答える 1

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   
于 2014-08-06T00:13:54.497 に答える