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

springboot应用cpu飙升的原因排除

1、通过top或者jps命令查到是那个java进程, top可以看全局那个进程耗cpu,而jps则默认是java最耗cpu的,比如找到进程是196  

    1.1  top (推荐)或者jps命令均可

2、根据第一步获取的进程号,查询进程里那个线程最占用cpu,发现590消耗最多

   top -p 196 -H 

3、把堆栈信息dump到本地存储

    jstack  196 > ~/jstack.log

4、查询jstack.log相关的 ,pid为 715 的值,可以查看堆栈信息,找到具体的业务代码

5、发现196进程里的线程id:715是最耗cpu的,可以使用linux命令直接kill掉,杀死线程命令是 两个 -- 

    kill  --715

======================下面代码可以考虑不看==================================

6、需要注意的是,在jsatck命令展示的结果中,线程id都转换成了十六进制形式。可以用如下命令查看转换结果,也可以找一个科学计算器进行转换。主要查看NID的值(jdk8是16进制,jdk21是10进制)

把590的转换成十六进制  :

    printf  "%x"  590  

或者

转换线程号printf %x 38,查询堆栈jstack 16| grep nid=0x26 -A 10

7、 24e 代表线程的信息,可以24e的值,把jstack 196 > jstack.log 导出的文件,查找相应的线程信息。 目前发现590也能搜到数据,而24e搜不到数据。 所以 4,5可能是错误的。参考文档

https://www.bilibili.com/video/BV15T4y1y7eH/?spm_id_from=333.337.search-card.all.click&vd_source=7d7f4a21d00a9323f6fdc67c7ae8e0f2

面试官:生产环境碰到系统CPU飙高和频繁GC,你要怎么排查? 白天不懂夜的黑_生产环境如何查看gc-CSDN博客

相关文章:

  • 移除链表元素-力扣203题
  • 分布式之日志系统平台ELK
  • kubernetes node 节点管理
  • 如何解决跨区域文件传输存在的安全管控问题?
  • K8S-使用SVC域名解决ip不固定导致consul服务注册脏数据异常问题
  • OpenAI新模型发布,免费开放GPT-4o!但只开放一点点...
  • qt基于QGraphicsView的屏幕旋转
  • Spring Boot顶层接口实现类注入项目的方法
  • 【复旦邱锡鹏教授《神经网络与深度学习公开课》笔记】线性分类模型损失函数对比
  • 深度学习500问——Chapter12:网络搭建及训练(1)
  • 50.Python-web框架-Django中引入静态的bootstrap样式
  • 基于springSecurity的双token机制(accesToken,refreshToken)以及如何刷新token
  • windows文件及文件夹加密后无法解除加密
  • python tensorflow 各种神经元
  • Java 读取Excel导入数据库,形成树状结构
  • [原]深入对比数据科学工具箱:Python和R 非结构化数据的结构化
  • CSS 提示工具(Tooltip)
  • Debian下无root权限使用Python访问Oracle
  • ERLANG 网工修炼笔记 ---- UDP
  • Fabric架构演变之路
  • GraphQL学习过程应该是这样的
  • js 实现textarea输入字数提示
  • Koa2 之文件上传下载
  • node-sass 安装卡在 node scripts/install.js 解决办法
  • Node项目之评分系统(二)- 数据库设计
  • vue2.0一起在懵逼的海洋里越陷越深(四)
  • 基于Android乐音识别(2)
  • 记一次用 NodeJs 实现模拟登录的思路
  • 如何优雅地使用 Sublime Text
  • 《码出高效》学习笔记与书中错误记录
  • 《天龙八部3D》Unity技术方案揭秘
  • 【运维趟坑回忆录】vpc迁移 - 吃螃蟹之路
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • 我们雇佣了一只大猴子...
  • ​2020 年大前端技术趋势解读
  • ​zookeeper集群配置与启动
  • (2)Java 简介
  • (9)STL算法之逆转旋转
  • (二)pulsar安装在独立的docker中,python测试
  • (生成器)yield与(迭代器)generator
  • (四) 虚拟摄像头vivi体验
  • (一)硬件制作--从零开始自制linux掌上电脑(F1C200S) <嵌入式项目>
  • (一一四)第九章编程练习
  • (原創) 如何優化ThinkPad X61開機速度? (NB) (ThinkPad) (X61) (OS) (Windows)
  • (转)大型网站架构演变和知识体系
  • (转)清华学霸演讲稿:永远不要说你已经尽力了
  • (转载)利用webkit抓取动态网页和链接
  • ******之网络***——物理***
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .NET Compact Framework 3.5 支持 WCF 的子集
  • .NET Core 中插件式开发实现
  • .NET DevOps 接入指南 | 1. GitLab 安装
  • .NET Standard、.NET Framework 、.NET Core三者的关系与区别?
  • .NET 设计模式—适配器模式(Adapter Pattern)
  • .net通用权限框架B/S (三)--MODEL层(2)