收到告警
    image.png

    • top 找到进程
      • top -H -p pid 找到对应的线程,转16进制. mac上的工具可以直接转 , 是否是某一个线程存在死循环等等
    • jstat -gcutil
      • 查看是否频繁fullgc,内存问题
        • 突发的大数据
        • 一直存在的内存泄漏
    • jstack
      • jstack pid.
      • 如果应用启动的时候卡住,可以使用jstack获取堆栈,常规经验来说,就是堆栈最长的那个 😂 😄 🌲
    • jmap
      • jmap -histo pid |head -n 200
      • jmap -dump:live,format=b,file=pid.hprof pid

    如果是突发事件,基本上通过jmap histo 和 jstack 就可以找到是那部分突然上来了. 可以找到对应的责任人来进行处理

    如果是非突发事件,可能是存在内存泄漏,需要生成dump文件在看看。