CPU過高問題チェック

1592 ワード

1、トップを使ってみる
下図に示すように、%CPUが105.6に達するとCPU使用率が高く、仮想メモリ使用量も多い
  PID USER      PR  NI    VIRT    RES    SHR S  %CPU %MEM     TIME+ COMMAND                                 
20513 wuhuiqi+  20   0 35.962g 1.190g  13164 S 105.6  0.9  61405:41 java                                    
10711 fifth     20   0 13.269g 1.293g  14368 S   2.3  1.0   2105:26 java                                    

2、指定されたプロセスに関連するスレッドの表示
top-p PID-HはCPUを占有する多くのスレッドを検索する
top -p 20513 -H

PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND                                  
20791 wuhuiqi+  20   0 35.962g 1.190g  13164 R 99.3  0.9  57308:18 java                                     
20721 wuhuiqi+  20   0 35.962g 1.190g  13164 S  0.7  0.9 171:31.55 java                                     
20729 wuhuiqi+  20   0 35.962g 1.190g  13164 S  0.7  0.9 171:12.99 java                                     
20731 wuhuiqi+  20   0 35.962g 1.190g  13164 S  0.7  0.9 171:06.91 java                                     
20714 wuhuiqi+  20   0 35.962g 1.190g  13164 S  0.3  0.9 170:57.62 java                                     
20717 wuhuiqi+  20   0 35.962g 1.190g  13164 S  0.3  0.9 171:15.67 java                                     
20718 wuhuiqi+  20   0 35.962g 1.190g  13164 S  0.3  0.9 171:12.73 java   

3、進数変換
関連するCPU消費量の多いスレッドのIDを16進数に変換
Printf “%x
” 20791 “5137n”

4、jstackプロセス情報の表示
jstack 20513 | grep 5137n
jstack pid | grep    Id16    

スレッド情報に基づいて分析すればよい