美文网首页
JVM问题排查

JVM问题排查

作者: 晚歌歌 | 来源:发表于2020-01-06 15:29 被阅读0次

    一、线上CPU飚高、死锁等排查基本步骤:

    1、top

    记录CPU使用率最高的JAVA进程PID

    2、top -H -p PID

    记录PID进程中CPU占用率最高的线程TID(界面上显示的仍是PID)

    3、printf %x TID

    将TID转为16进制XTID(因为jstack中线程号是16进制表示)

    4、jstack PID或者jstack PID > jstack.txt

    搜索XTID就可以找到线程当前执行的堆栈,找到代码所在行

    出现死锁的话都在jstack.txt的最后,如果能用JVisualVM或者JConsole的话,在线程标签界面里就可以直接显示检测出的死锁

    二、内存溢出

    1、应用启动时添加如下参数:

    -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/data/dump/

    2、导入JVisualVM分析类实例

    或者如果可能保留内存溢出现场:

    1、jmap -dump:format=b,file=heapdump.phrof pid

    2、使用JVisualVM或者MAT工具进行分析

    一次项目上内存溢出分析实践(javax.crypto.JceSecurity)

    相关文章

      网友评论

          本文标题:JVM问题排查

          本文链接:https://www.haomeiwen.com/subject/porkactx.html