首页 > 其他分享 >生产系统cpu飙高问题排查

生产系统cpu飙高问题排查

时间:2024-01-02 10:31:32浏览次数:28  
标签:进制 16 jstack 飙高 排查 线程 cpu 22168

现状

生产系统CPU占用过高,并且进行了报警

image-20221017085838320

排查方法

执行top命令,查看是那个进程导致的,可以确定是pid为22168的java应用导致的

image-20221015112629314

执行top -Hp命令,查看这个进程的那个线程导致cpu过高,如下图,可以看到是22749线程导致的

top -Hp 22168

image-20221015112956811

由于jstack里面的线程号为16进制,需要转换线程号为16进制,如下图得到16进制值为58dd

printf "%x\n" 22749

image-20221015113705448

执行jstack生成线程快照保存至1.txt文件中,22168为进程id

jstack 22168>1.txt

根据16进制线程号,查询线程信息

grep 58dd 1.txt

image-20221015114338404

如上图,可以看到是调用DesenUtils.desen方法导致,此方法作用是数据脱敏,里面用了较为复杂的正则表达式,所以分析是由于特定字符正好遇到此正则表达式,进行大量计算导致,为了快速解决此问题,先去除掉此代码的调用,重新发布即可。

总结

线上问题定位,相对比较简单,难点主要在于保留现场,有了现场就能快速定位问题,以下是二种常用排查方式

  1. CPU飙高通过jstack命令,定位到线程信息。
  2. 内存飙高通过jmap dump出堆栈信息,在通过mat这些工具定位那个类占用过多内存。

标签:进制,16,jstack,飙高,排查,线程,cpu,22168
From: https://blog.51cto.com/u_16071940/9064177

相关文章

  • GB28181视频监控平台LiteCVR调用rtsp地址返回的IP不正确原因排查
    RTSP(Real-TimeStreamingProtocol)是一种用于控制实时流媒体传输的应用层协议。它被设计用于建立和管理客户端与媒体服务器之间的连接,以便实现实时音频、视频或其他交互式媒体内容的传输。RTSP允许客户端通过发送命令来控制流媒体服务器的播放、暂停、快进、倒带等操作。RTSP支持多......
  • 恒创科技:应对服务器CPU占用持续性变高的解决办法
    ​在服务器的使用过程中,高CPU使用率是一个常见的问题,一般是由于遇到大量流量,进程需要更多时间来执行或通过网络发送和接收大量网络数据包时,CPU使用率可能会急剧增加,严重时可能会影响到网络的性能和稳定性。因此,对于站长们来说,面对服务器CPU占用持续性变高时,应采取措施予以处理......
  • esxi创建win10虚拟机 配置CPU
    比如我配置虚拟机16核32G,进入系统后发现只有2核32G 解决办法把CPU和和每个插槽内核数改成一样的,就变成1颗物理CPU里16个Cores了。ESXi默认配置是CPU:N,每个插槽内核数:1,CPU为N的意思是有N个物理CPU,Win10默认只支持两颗物理CPU,所以ESXi的默认配置无论你CPU填多少都在win10里只显......
  • storm—A5cpu test
    cpu_clk_rst_test 用例描述:1、先读取一下初始值,checkRAWvalue2、softwarerest后,checkvalue3、poweronreset后检查,checkvalue这段代码是用C语言编写的,其中包含了嵌入式汇编代码。它的作用是从系统控制寄存器中读取值,并将其存储到内存中的特定位置。具体来说,让我们......
  • MAC M1 ndk-build ERROR: Unknown host CPU architecture: arm64
    {https://blog.csdn.net/qq_35559358/article/details/125502740} 解决方法vi编辑ndk-build将里面的内容从   #!/bin/sh   DIR="$(cd"$(dirname"$0")"&&pwd)"   $DIR/build/ndk-build"$@"修改成   #!/bin/sh   DIR="$(c......
  • 恒创科技:如何合理配置云服务器的CPU和内存?
    ​提到云服务器性能,大抵有两个主要影响因素,CPU核心数量和内存容量,它们决定了云服务器的速度和可靠性。日常运用中,我们如何判断网站需要需要更多或更少?如何扩大或缩小它们以优化网站的性能?一般来说,您拥有的RAM和CPU核心越多,可以同时运行的进程就越多,您的网站对访问......
  • cpu高的问题排查
    问题背景中小件装卸服务uat时,cpu报99,想到是新接了的mq,于是将接mq改为只打印日志,cpu恢复正常由于业务正在进行uat验证,所以没有办法排查,只能等到夜深人静没人用的时候将逻辑都打开,让机器报警排查问题 一开始是觉得mq的数据太多接不过来,于是给uat的机器进行扩容,发现每个机器的c......
  • 排查oracle日志增速过快记录
    问题产生:最近同事连接开发环境oracle数据报错,一开始简单更加了下归档空间,每次加5G,语句如下:查看归档空间大小:showparameterdb_recovery;查看使用占比:select*fromv$flash_recovery_area_usage;增加归档空间:altersystemsetdb_recovery_file_dest_size=30G; 后来每......
  • Kolla OpenStack yoga 版本部署时 haproxy 无法正常工作的问题排查
    前言这个缺陷很奇怪,仅在使用我的公司自研的操作系统上部署时产生。但是这个由于haproxy的配置缺陷导致的问题确实存在,记录以供后续参考。问题表现在部署过程与部署完成后均出现mysql数据无法连接的问题。导致集群无法工作。问题原因排查进入mysql容器,通过命令行工具指......
  • 博科光交机端口状态和排查
    端口物理上主要有几种状态,分别的含义及异常定位方法如下:No_CardNointerfacecardpresent.No_ModuleNomodule(GBICorother)present.端口没有插入光模块No_LightModuleisnotreceivinglight(8Gbps-capableportsonly).仅在8GB速度的端口上存在,说明光模块没有收到......