首先查看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