Linux下服务器CPU过高的诊断

    Weblogic非常耗CPU的时候,如何知道是什么在耗性能?

1.先用top看进程的消耗,记录下消耗高的进程pid

2.先用top -Hp pid(进程id) 看线程的消耗

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
14537 weblogic  20   0 26.0g 9.3g  11m R 41.8  7.4  56:21.87 java
14530 weblogic  20   0 26.0g 9.3g  11m R 40.5  7.4  56:35.16 java
14535 weblogic  20   0 26.0g 9.3g  11m R 40.2  7.4  56:38.38 java 
14541 weblogic  20   0 26.0g 9.3g  11m R 39.2  7.4  56:28.74 java 
14546 weblogic  20   0 26.0g 9.3g  11m R 39.2  7.4  56:48.28 java 
14526 weblogic  20   0 26.0g 9.3g  11m R 38.8  7.4  56:28.37 java 
14528 weblogic  20   0 26.0g 9.3g  11m R 38.8  7.4  56:26.32 java 
14534 weblogic  20   0 26.0g 9.3g  11m R 38.8  7.4  56:30.50 java 
14536 weblogic  20   0 26.0g 9.3g  11m R 38.5  7.4  56:32.87 java 
14531 weblogic  20   0 26.0g 9.3g  11m R 38.2  7.4  56:48.41 java 
14525 weblogic  20   0 26.0g 9.3g  11m R 37.5  7.4  56:32.14 java 
14539 weblogic  20   0 26.0g 9.3g  11m R 37.5  7.4  56:32.48 java 
14542 weblogic  20   0 26.0g 9.3g  11m R 36.9  7.4  56:33.60 java 
14527 weblogic  20   0 26.0g 9.3g  11m R 36.5  7.4  56:31.93 java 
14543 weblogic  20   0 26.0g 9.3g  11m R 36.5  7.4  56:29.06 java  
14532 weblogic  20   0 26.0g 9.3g  11m R 35.9  7.4  56:35.01 java  
14533 weblogic  20   0 26.0g 9.3g  11m R 35.5  7.4  56:27.61 java 
14544 weblogic  20   0 26.0g 9.3g  11m R 35.5  7.4  56:29.22 java  
14545 weblogic  20   0 26.0g 9.3g  11m R 35.5  7.4  56:34.25 java  
14540 weblogic  20   0 26.0g 9.3g  11m R 34.5  7.4  56:43.82 java  
14524 weblogic  20   0 26.0g 9.3g  11m R 33.9  7.4  56:29.71 java   
14538 weblogic  20   0 26.0g 9.3g  11m R 33.9  7.4  56:26.12 java  
14529 weblogic  20   0 26.0g 9.3g  11m R 32.9  7.4  56:19.01 java

..........................省略若干行...................................

3.刚才记录消耗高的进程pid,然后使用jstack   pid 得到thread dump

......................省略若干行.......................................

"VM Thread" prio=10 tid=0x00007f10ac094800 nid=0x38d3 runnable 
"GC task thread#0 (ParallelGC)" prio=10 tid=0x00007f10ac01f800 nid=0x38bc runnable 
"GC task thread#1 (ParallelGC)" prio=10 tid=0x00007f10ac021800 nid=0x38bd runnable 
"GC task thread#2 (ParallelGC)" prio=10 tid=0x00007f10ac023800 nid=0x38be runnable 
"GC task thread#3 (ParallelGC)" prio=10 tid=0x00007f10ac025000 nid=0x38bf runnable 
"GC task thread#4 (ParallelGC)" prio=10 tid=0x00007f10ac027000 nid=0x38c0 runnable
"GC task thread#5 (ParallelGC)" prio=10 tid=0x00007f10ac029000 nid=0x38c1 runnable
"GC task thread#6 (ParallelGC)" prio=10 tid=0x00007f10ac02b000 nid=0x38c2 runnable 
"GC task thread#7 (ParallelGC)" prio=10 tid=0x00007f10ac02c800 nid=0x38c3 runnable
"GC task thread#8 (ParallelGC)" prio=10 tid=0x00007f10ac02e800 nid=0x38c4 runnable 
"GC task thread#9 (ParallelGC)" prio=10 tid=0x00007f10ac030800 nid=0x38c5 runnable
"GC task thread#10 (ParallelGC)" prio=10 tid=0x00007f10ac032000 nid=0x38c6 runnable
"GC task thread#11 (ParallelGC)" prio=10 tid=0x00007f10ac034000 nid=0x38c7 runnable
"GC task thread#12 (ParallelGC)" prio=10 tid=0x00007f10ac036000 nid=0x38c8 runnable 
"GC task thread#13 (ParallelGC)" prio=10 tid=0x00007f10ac038000 nid=0x38c9 runnable 

4. 对应top -Hp pid(进程id)的线程id和jstack pid中的nid

如 十进制14537 转成十六进制38c9,十进制14524转成十六进制38bc 。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值