码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • CPU超高问题排查


    前言:这标题和JVM调优一样,是一层窗户纸,不捅破感觉很难的样子,捅破了后,你会发出感叹:就这?

    1、怎么发现CPU超高?

    这还不简单,看图

     当然,我们也可以登录相关服务器,使用top命令,查看该服务器CPU是否超标

     

     top命令可以看到进程对CPU和MEM(内存)的使用占比

    2、根据进程找到具体线程

    top -H -p 31373

    如果实在想知道-H 和-p 是啥意思,可以使用命令 man top 自行查看

    3、转换线程id号为16进制

    why?因为打印的日志信息就是按照16进制打的,要筛选这个线程的信息,可不就要转一下嘛

    printf "%x\n" 1546

    如果觉得有点麻烦,记不住命令,还可以用:当当当,当!

    在线进制转换器:https://c.runoob.com/front-end/58/

     

     反正结果都一样,获取到线程id号(例如:21756)的十六进制转换结果:54fc,这不用命令更能凸显程序员的专业嘛(装逼.jpg)

    4、jstack查看具体发生问题的代码

    jstack 31373 | grep 54fc -A 30
    

    代码格式是:jstack pid | grep tid -A num
    tid就是第三步转换的16进制的线程id号
    -A num是为了打印关联代码行的后面30行,通常只观察一行代码,难以看出问题,所以一般多看几行

     

     

    红色代码块就是我们想看到的结果,具体分析是什么原因导致的CPU超高,就需要打开IDEA去查看相关代码了。

    5、通常的排查结果

    • 死循环

     

    • OOM,GC频繁

  • 相关阅读:
    Windows环境下使用python安装PyCrypto模块的方法
    IDEA07:Mybatis和Springboot操作数据库
    JavaScript中Object.prototype.toString.call()、instanceOf和Array.isArray()的区别
    Lumiprobe 点击化学丨非荧光叠氮化物:叠氮化物-PEG3-OH
    【51单片机实验笔记】前篇(三) 模块功能封装汇总(持续更新)
    unity基础2-编辑器拓展
    springboot 使用多线程和线程池
    现货黄金时间要如何选择
    优维EasyOps,打造新一代运维新方式
    企业计算机服务器中了faust勒索病毒怎么解密,faust勒索病毒解密流程
  • 原文地址:https://blog.csdn.net/zab635590867/article/details/126609270
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号