码迷,mamicode.com
首页 > 编程语言 > 详细

Java应用线上问题排查思路

时间:2020-05-31 22:02:56      阅读:103      评论:0      收藏:0      [点我收藏+]

标签:查看   业务   jstack   article   top   cpu   tac   print   16进制   

CPU利用率飙升

1、定位cpu利用率最高的进程

top

2、定位使用cpu最高的线程

top -Hp pid 

3、线程id转化为16进制

printf ‘0x%x‘ tid

4、找到线程堆栈

jstack pid | grep tid

发现使用cpu最高的是业务线程

1、io wait
解决方法:
[1]: https://blog.csdn.net/lonyness/article/details/82628988 "记一次线上服务cpu占用率超过100%的问题排查"

等待内核态锁,如synchronized

1、查看阻塞线程堆栈

jstack -l pid | grep BLOCKED

2、dump线程栈,分析线程持锁情况

GC

1、可能是survivor区太小,对象过早进入老年代

线程池异常

1、对高RT接口进行限流
2、优化数据库

Java应用线上问题排查思路

标签:查看   业务   jstack   article   top   cpu   tac   print   16进制   

原文地址:https://www.cnblogs.com/yyml181231/p/13021376.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!