根据日志定位问题:
1、CPU问题:CPU占用过高
查找占用cpu高的线程id
top -Hp pid
查找相应线程的线程状态:RUNNING、WAITING、BLOCK
jstack 线程id
在top命令中,可以获取到占用CPU资源较高的线程pid,将该pid转成16进制的值,在thread dump中每个线程都有一个nid,找到对应的nid。隔段时间再执行一次stack命令获取thread dump
2、磁盘空间问题
通过df -h查看磁盘空间占用情况,如果磁盘空间占用满, 清理相应的过期日志
3、内存问题
通过 jinfo 或者 jcmd命令查看进程的jvm配置参数,建议配置成物理内存的80%
4、如果是OOM问题
通过jmap -dump:format=b,file=xxxx.prof pid 导出堆内存转储文件
jhat或者MAT工具分析堆转储文件,找出大对象,定位到相应的代码进行修复