当前位置: 首页 > news >正文

一次CPU飙升问题排查定位

操作流程

  1. CPU飙升问题定位:
  • 定位高CPU进程
  • 进程内高CPU线程 top -Hp [PID]
  • jstack [PID] grep -A 20 [十六进制TID]抓取线程栈/arthas工具attach进程后profiler生成火焰图
    2.排查常见原因
  • 代码逻辑问题:死循环、递归爆栈、频繁字符串拼接
  • 资源竞争/锁等待
  • GC频繁:观察JVM及内存使用 新生代Minor GC和老年代FullGC
  • 系统资源问题:规格、亲和以及宿主机超分

原理深度
工作中,遇到过while true死循环;队列线程等待,频繁上下文切换导致的CPU空转;也遇到过业务冲击,频繁创建大对象,自适应模式下IHOP因为动态调整迟迟未触发标记周期造成JVM监控告警;更早之前也有CPU核数的负载不均以及宿主机超分的影响。
这里记录字符串拼接的主要原因是使用大模型解释频繁字符串拼接string导致CPU飙升的过程中,大模型提供问题1和问题2两种解释,个人误以为是在AB测试,因为个人更喜欢问题2深度拆解的风格,知其然并知其所以然,当然从工具论的角度,问题1更加快速,忽视技术细节,更多是从是什么的角度来讲解。

http://www.hskmm.com/?act=detail&tid=17484

相关文章:

  • ros2 control 2
  • 基于洞察的智能编程法——从直觉到代码的原型炼成术
  • lc1036-逃离大迷宫
  • 9.25学习笔记
  • 新学期每日总结(第4天)
  • VSCode 升级 C++支持版本
  • 第四天
  • 25.9.25
  • 在electron-vite使用ShadCN
  • 每日博客(补)
  • 如何使用极限网关实现 Elasticsearch 集群迁移至 Easysearch
  • 文档抽取技术:实现金融保险业务流程自动化
  • 算法作业
  • C#学习3
  • 9-23
  • 9-26
  • Ubuntu Uninstall App
  • 20250925
  • 题解:P2662 牛场围栏
  • day11 课程(学员管理系统案例)
  • c语言初步学习
  • jmeter函数
  • 【网络编程】UDP 编程实战:从套接字到聊天室多场景计划构建
  • AC自动机在线版本(alert命中报警)
  • week1 homework
  • Windows 10 C盘占用释放 - tfel
  • 运算符
  • 科学计算方法--矩阵分析记录
  • window.addEventListener(message,()={})中的回调函数无故被一直触发的问题 - broky
  • python+pillow+Image实现图片压缩到指定大小