美文网首页
jstack的使用

jstack的使用

作者: 西谷haul | 来源:发表于2022-03-05 09:09 被阅读0次

    参考来源

    有些时候我们需要查看jvm的线程执行情况,如:发现服务器的CPU的负载突然增高了,出现了死锁,死循环,我们该如何分析呢?这个时候就要借助jstack命令了,jstack的作用就是将正在运行的jvm的线程进行快照,并且打印出来

    jstack <pid>
    jstack 2214
    

    一、jstack 命令参数

    image

    二、jstack解决问题

    1、死循环导致cpu飙高
    死循环的例子:https://blog.csdn.net/goldenfish1919/article/details/8755378

    步骤:查找进程--->>查找线程--->>分析threadDump日志--->>找出问题代码

    a、查看cpu高的java进程
    top
    
    b、生成进程下所有线程的栈日志
    jstack 1721 > 1712.txt
    
    c、查看进程下哪些线程占用了高的cpu
    top -p 1712 -H
    
    d、将十进制pid转换为十六进制的pid
    printf  "%x" 8247
    
    2037
    

    2、死锁问题定位

    image

    相关文章

      网友评论

          本文标题:jstack的使用

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