当前位置 博文首页 > 文章内容

    cpu占用过高如何排查以及常见原因

    作者: 栏目:未分类 时间:2020-09-05 9:00:30

    本站于2023年9月4日。收到“大连君*****咨询有限公司”通知
    说我们IIS7站长博客,有一篇博文用了他们的图片。
    要求我们给他们一张图片6000元。要不然法院告我们

    为避免不必要的麻烦,IIS7站长博客,全站内容图片下架、并积极应诉
    博文内容全部不再显示,请需要相关资讯的站长朋友到必应搜索。谢谢!

    另祝:版权碰瓷诈骗团伙,早日弃暗投明。

    相关新闻:借版权之名、行诈骗之实,周某因犯诈骗罪被判处有期徒刑十一年六个月

    叹!百花齐放的时代,渐行渐远!



    一、如何排查?

    1.先用top命令,找到cpu占用最高的进程PID如下图:

     2.再用ps -mp pid -o THREAD,tid,time   查询进程中,哪个线程的cpu占用率高 记住TID。

     

     

     3. jstack 29099 >> xxx.log   打印出该进程下线程日志。

     

     

     4.sz xxx.log 将日志文件下载到本地

     

     5.查找到的 线程占用最高的 tid  上上上图中 29108   转成16进制  --- 71b4

    6.打开下载好的 xxx.log  通过 查找方式 找到 对应线程 进行排查。

    二、容易造成cpu占用过高的情况

    1.代码中写死循环时,一直占用cpu

    2.如在循环中不停的创建对象,也会导致GC频繁 。