美文网首页
机器CPU高问题排查

机器CPU高问题排查

作者: e20d9310ced3 | 来源:发表于2018-06-29 18:20 被阅读0次
    1. top找到占用CPU资源的进程


      top.png
    2. 要查看java程序在做什么事情,用jstack命令dump出java堆栈


      jstack-F 19740.png

    这个报错是因为java程序运行的jdk版本和jstack运行的jdk版本不一致
    用find / -name java找到java程序运行的jdk目录
    运行该jdk下的jstack


    jstack-F 19740 2.png

    发现还是报错,百度这个错误找到解决方法,需要安装一个openjdk-debuginfo:
    在这个地址中http://debuginfo.centos.org/7/x86_64/找到对应jdk版本的文件下载安装

    wget http://debuginfo.centos.org/7/x86_64/java-1.8.0-openjdk-debuginfo-1.8.0.121-0.b13.el7_3.x86_64.rpm
    rpm -ivh java-1.8.0-openjdk-debuginfo-1.8.0.121-0.b13.el7_3.x86_64.rpm
    

    安装完成后,再次运行,并将输出的信息保存到文件,方便分析
    jstack -F 19740 > ~/19740.txt

    top -p pid -H 找到占用CPU的JAVA线程


    top-h.png

    如果用的是JDK,则需要将获取的线程ID转换成16进制
    我这里用的是openjdk,则不需要转换,直接在保存的文件中查找相应的线程ID,分析对应的错误,或者将报错发送给开发人员分析问题

    相关文章

      网友评论

          本文标题:机器CPU高问题排查

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