线上故障主要包括cpu 磁盘 内存 网络等问题
依次排查
1.cpu
1) 先用ps找到进程pid 2) top -H -p pid 找到cpu占用高的线程 3)printf '%x ' pid 获得16进制的nid 4) jstack pid |grep 'nid' -C5 -color 显示堆栈信息 关注WAITING TIMED_WAITING BLOCKED的信息
2.磁盘
df -hl查看磁盘状态
3.内存
free 检查内存情况 如果内存过多 通过第一步骤找到的异常来分析: Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread 线程代码有问题 可能线程池忘记shutdown Exception in thread "main" java.lang.OutOfMemoryError: Java heap space 堆内存溢出 代码有问题 可能是io未清 或去调大Xmx Caused by: java.lang.OutOfMemoryError: Meta space 元区内存溢出 还是代码问题 也可以通过XX:MaxPermSize来进行调整 Exception in thread "main" java.lang.StackOverflowError 栈内存溢出 先排查代码 调大内存Xss