java CPU占用过高

JAVA CPU占用情况

1、使用top 命令查看占用高的进程

top
--------------------------------------------------------
  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                        
 8600 root      20   0 4899m 2.6g  18m S 162.8 16.8  37:24.54 java                                                                           
12406 root      20   0 4054m 637m  18m S 101.8  4.0   1:26.44 java                                                                           
12681 root      20   0  103m 1336  760 R 27.9  0.0   0:01.85 netstat                                                                         
10907 root      20   0  192m 5720 1312 R 18.9  0.0  34431:06 supervisord                                                                     
 6065 root      20   0 4120m 882m 7836 S 18.2  5.5 294:44.65 java                                                                            
 5775 nginx     20   0 1198m  75m 9184 R 13.6  0.5  11:21.52 nginx                                                                           
 5774 nginx     20   0 1199m  76m 9188 R 12.9  0.5  10:57.19 nginx 
 ...........

2、根据pid 查找占用高的线程

top -H -p <pid>

或者

ps -mp <pid> -o THREAD,tid,time

ps -mp 6203 -o THREAD,tid,time | awk '{print $2,$8}' | sort -k1 -r | head -n 15

3、将线程id 转换为16进制

printf "%x\n" <tid>

4、根据pid 和tid 生成线程快照

jstack <pid> |grep <tid> -A 30

5、在thread dump中,要留意下面几种状态

Deadlock (重点关注) 死锁
Waiting on condition (重点关注) 等待资源
Waiting on monitor entry (重点关注) 等待获取监视器
Blocked 阻塞
Runnable 执行中
Suspended 暂停
Object.wait() 或 TIMED_WAITING 对象等待中
Parked 停止

使用开源脚本来查看所以Java进程的使用情况

wget --no-check-certificate https://raw.github.com/oldratlee/useful-scripts/release/show-busy-java-threads
chmod +x show-busy-java-threads
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 总以为留下的 才是重要的 有影响的 渗透到生活里的 现在才觉得 路过也可以不只是过客, 路过总是那样一个过程 来过...
    木易古辰阅读 2,087评论 0 0
  • 作业雨概况: -本组共:9人,1人请假。-按时上传至不出局微信公众号:7人。-按时(17:00~20:00)提交到...
    陈家庆_Charlie阅读 689评论 0 0
  • 红色,我最爱的颜色,跳跃、活泼、个性鲜明。 走了,她已经走了,就在不久前走了。不必担心,不必害怕! 如果我可以逃跑...
    狼之印记阅读 1,495评论 0 0