首先查看nginx,看看请求是否过来了
然后查看日志,通过关键信息锁定错误日志 分析原因。
一、
找到CPU利用率持续比较高的进程
top
找到CPU使用率较高的线程ID
top -H -p 8795或
ps p 8795 -L -o pcpu,pid,tid,time,tname,cmd
将获取的线程号(十进制数)转换成十六进制
printf “%x\n” 8795
查看进程8795中的信息
jstack -l 8795 > 8795.pid
二、
jmap -F -dump:live,file=jmap.hprof [PID] 导出内存dump文件然后用mat分析。
1:dump 文件里,值得关注的线程状态有
死锁, Deadlock(重点关注)
执行中,Runnable
等待资源, Waiting on condition(重点关注)
等待获取监视器, Waiting on monitor entry(重点关注)
暂停,Suspended
对象等待中,Object.wait() 或 TIMED_WAITING
阻塞, Blocked(重点关注)
停止,Parked