java排查一个线上死循环cpu暴涨的过程

2023-11-02

问题,打一个页面cpu暴涨,打开一次就涨100%,一会系统就卡的不行了。
排查方法,因为是线上的linux,没有用jvm监控工具rim链接上去。只好用命令排查:


top cpu排序,一个java进程cpu到500%了,什么鬼.....


查到对应java进程
jps  || ps -aux | grep 端口  
pid=13455


查看进程中线程使用情况  T排序  查看cpu占用time最高的线程编号
top -Hp 13455
有个线程9877 的时间一直在爆涨




获取线程十六进制地址9877 (十六进制一定要小写)
printf "%x\n" 9877




执行 jstack 13455|grep  -10 2695(线程十六进制号)


如果想查看完整信息,可导出文本,查找
jstack -l 9839 > jstack.log-9893






"qtp750044075-25" #25 prio=5 os_prio=0 tid=0x00007f83354e5000 nid=0x2695 runnable [0x00007f830e5d8000]
   java.lang.Thread.State: RUNNABLE
at java.text.DateFormatSymbols.<init>(DateFormatSymbols.java:145)
at sun.util.locale.provider.DateFormatSymbolsProviderImpl.getInstance(DateFormatSymbolsProviderImpl.java:85)
at java.text.DateFormatSymbols.getProviderInstance(DateFormatSymbols.java:364)
at java.text.DateFormatSymbols.getInstance(DateFormatSymbols.java:340)
at java.util.Calendar.getDisplayName(Calendar.java:2110)
at java.text.SimpleDateFormat.subFormat(SimpleDateFormat.java:1125)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:966)
at java.text.SimpleDateFormat.format(SimpleDateFormat.java:936)
at java.text.DateFormat.format(DateFormat.java:345)
at com.huiwan.gdata.modules.gdata.util.TimeUtil.getDay(TimeUtil.java:383)
at com.huiwan.gdata.modules.gdata.publ.retain.service.impl.Retain3ServiceImpl.act(Retain3ServiceImpl.java:119)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:317)
    .......略
   Locked ownable synchronizers:
- None


定住到
Retain3ServiceImpl.java:119
这行,马的,有人写了个while循环,用字符串时间比较,之前表是date类型,后改为datetime类型,多了00:00:00永远也没一样的时间,一直在那while.....还搞了个json对象默认加0......

改了这里的代码,就好了,cpu就没上去了.


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

java排查一个线上死循环cpu暴涨的过程 的相关文章

  • Android:如何暂停和恢复可运行线程?

    我正在使用 postDelayed 可运行线程 当我按下按钮时 我需要暂停并恢复该线程 请任何人帮助我 这是我的主题 protected void animation music6 music4 postDelayed new Runnab
  • “源兼容性”和“目标兼容性”有什么区别?

    之间有什么关系 区别sourceCompatibility and targetCompatibility 当它们设置为不同的值时会发生什么 根据工具链和兼容性 https docs gradle org current userguide
  • 连接外部 Accumulo 实例和 java

    我正在尝试使用 Accumulo 连接到虚拟机 问题是 我无法将其连接到 Java 中 我可以看到 Apache 抛出的网页 但我无法让它与代码一起工作 我认为这是缺乏知识的问题而不是真正的问题 但我找不到这方面的文档 所有示例都使用 lo
  • 在不支持 CAS 操作的处理器上进行 CompareAndSet

    今天 我在一次采访中被问到下一个问题 如果您在具有不支持 CAS 操作的处理器的机器上调用 AtomicLong 的compareAndSet 方法 会发生什么情况 您能否帮我解决这个问题 并在可能的情况下提供一些全面描述的链接 From
  • 我们可以有条件地声明 spring bean 吗?

    有没有一种方法可以有条件地声明 Spring bean 例如
  • 通过Zuul上传大文件

    我在通过 zuul 上传大文件时遇到问题 我正在使用 apache commons 文件上传 https commons apache org proper commons fileupload https commons apache o
  • 自定义列表字段点击事件

    我正在编写一个应用程序 其中我创建了用于显示列表视图的自定义列表字段 我的 CustomListField 包含连续的一个图像和文本 我正在通过单击列表字段行获取字段更改侦听器 但我也想将字段更改侦听器放在图像上 谁能告诉我我该怎么做 这是
  • Java中Gson、JsonElement、String比较

    好吧 我想知道这可能非常简单和愚蠢 但在与这种情况作斗争一段时间后 我不知道发生了什么 我正在使用 Gson 来处理一些 JSON 元素 在我的代码中的某个位置 我将 JsonObject 的 JsonElements 之一作为字符串获取
  • java中如何知道一条sql语句是否执行了?

    我想知道这个删除语句是否真的删除了一些东西 下面的代码总是执行 else 是否删除了某些内容 执行此操作的正确方法是什么 public Deleter String pname String pword try PreparedStatem
  • 将类转换为 JSONObject

    我有好几堂这样的课 我想将类转换为 JSONObject 格式 import java io Serializable import com google gson annotations SerializedName public cla
  • 在java程序中使用c++ Dll

    我正在尝试使用System LoadLibrary 使用我用 C 编写的一个简单的 dll UseDllInJava java import com sun jna Library import com sun jna Native imp
  • UseCompressedOops JVM 标志有什么作用以及何时应该使用它?

    HotSpot JVM 标志是什么 XX UseCompressedOops我应该做什么以及什么时候使用它 在 64 位 Java 实例上使用它 与不使用它 时 我会看到什么样的性能和内存使用差异 去年大多数 HotSpot JVM 都默认
  • 使用 Proguard 通过 Dropbox.com 库混淆 Android 应用程序

    我刚刚创建了一个需要 Dropbox com API 库的 Android 应用程序 我现在尝试在 发布 模式下构建应用程序 并希望在代码上运行混淆器以对其进行混淆 但是 每当我尝试运行 Proguard 时 都会收到以下错误 Progua
  • 我们如何使用 thymeleaf 绑定对象列表的列表

    我有一个表单 用户可以在其中添加任意数量的内容表对象这也可以包含他想要的列对象 就像在 SQL 中构建表一样 我尝试了下面的代码 但没有任何效果 并且当我尝试绑定两个列表时 表单不再出现 控制器 ModelAttribute page pu
  • Azure Java SDK:ServiceException:ForbiddenError:

    尝试了基本位置检索器代码 如下所示 String uri https management core windows net String subscriptionId XXXXXXXX 5fad XXXXXX 9dfa XXXXXX St
  • 我所有的 java 应用程序现在都会抛出 java.awt.headlessException

    所以几天前我有几个工作Java应用程序使用Swing图书馆 JFrame尤其 他们都工作得很好 现在他们都抛出了这个异常 java awt headlessexception 我不知道是什么改变了也许我的Java版本不小心更新了 谢谢你尽你
  • 使用 Apache 允许 Glassfish 和 PHP 在同一服务器中协同工作

    是否可以建立从 Java 到 php 文件的桥梁 我有一个用 Java 编写的应用程序 我需要执行http piwik org http piwik org 这是用 PHP 编写的 在服务器中 我正在运行 PHP 但无法从浏览器访问 php
  • 检测到 JVM 正在关闭

    我有一个使用 addShutdownHook 处理 Ctrl C 的 Swing 应用程序 它工作正常 直到我的关闭任务之一调用一个在正常情况下更改 JLabel 文本的函数 此时它挂起 我认为问题是 Swing EDT 已终止或正在等待某
  • Java 的“&&”与“&”运算符

    我使用的示例来自 Java Herbert Schildt 的完整参考文献 第 12 版 Java 是 14 他给出了以下 2 个示例 如果阻止 第一个是好的 第二个是错误的 因此发表评论 public class PatternMatch
  • Spring 作为 JNDI 提供者?

    我想使用 Spring 作为 JNDI 提供程序 这意味着我想在 Spring 上下文中配置一个 bean 可以通过 JNDI 访问该 bean 这看起来像这样

随机推荐

  • Ubuntu如何重启网络

    更多课程点击此处 快速链接 专栏目录 环境搭建安装问题笔记目录 付费专栏 付费课程 购买须知 个人博客笔记导读目录 全部 网络的IP地址没了 我们只要重启网络即可 sudo systemctl restart NetworkManager
  • “vue-amap“: “^0.5.10“, 高德地图 vue版本 H5地图 实现根据地名搜索坐标,经纬度

    本文介绍高德地图在vue框架中的使用方法 H5地图通用 首先引入 vue amap 0 5 10 npm install vue amap 然后在main js里写入如下代码 import VueAMap from vue amap Vue
  • javaweb 配置系统错误页面404或500 等其他错误代码

    web xml
  • Linux网络的DHCP、FTP原理及配置

    DHCP原理与配置 DHCP服务 使用DHCP动态配置主机地址 DHCP服务 可分配的地址信息主要包括 配置DHCP服务器 FTP 用来传输文件的协议 端口号 FTP数据连接模式 实现FTP功能 实验 DHCP服务 使用DHCP动态配置主机
  • 视图在SQL中的应用

    我们之前对 SQL 中的数据表查询进行了讲解 今天我们来看下如何对视图进行查询 视图 也就是我们今天要讲的虚拟表 本身是不具有数据的 它是 SQL 中的一个重要概念 从下面这张图中 你能看到 虚拟表的创建连接了一个或多个数据表 不同的查询应
  • 锚点机制在目标检测领域的发展综述

    摘要 目标检测是计算机视觉领域的基本任务 近年来 基于深度学习的目标检测研究发展十分迅速 锚点 anchor 机制广泛应用于主流目标检测器中 多尺度的锚点是检测器解决尺度问题的有效方法 但锚点策略也存在尺寸固定 模型鲁棒性差等问题 根据优化
  • fifo介绍及fifo IP核使用(工程文件获取请参考文末)

    一 fifo简介 1 fifo first in first out的缩写 先进先出数据缓存器 与普通存储器的区别 对外接口没有地址线 由此所带来的优点是 不用处理地址信号 时序较简单 缺点是 不能像普通存储器那样自由读写某个地址的数据 只
  • 小巧玲珑:机器学习届快刀XGBoost的介绍和使用

    欢迎大家前往腾讯云技术社区 获取更多腾讯海量技术实践干货哦 作者 张萌 序言 XGBoost效率很高 在Kaggle等诸多比赛中使用广泛 并且取得了不少好成绩 为了让公司的算法工程师 可以更加方便的使用XGBoost 我们将XGBoost更
  • JVM垃圾回收器

    目录 串行垃圾回收器 Serial Collector 并发式垃圾回收器 7种经典垃圾回收器 Serial 收集器 ParNew收集器 Parallel Scavenge收集器 CMS收集器 G1收集器 小结 常用参数 按垃圾回收器的线程数
  • [管理与领导-74]:IT基层管理者 - 辅助技能 - 4- 职业发展规划 - 构建自己的个人品牌

    前言 一 什么是信任账户 在职场中受到信任是建立良好声誉和专业形象的基础 以下是一些可以帮助职场人受到信任的方法 诚实守信 始终保持诚实和可靠的行为 遵守诺言 履行承诺 不轻易背信弃义 专业素养 展现专业的知识和技能 以及对工作的敬业精神
  • 51单片机学习之-串口中断

    串口中断 SM2 多机通信控制位 0 数据直接进入SBUF 并同时使R1致1 T1 发送中断标志位 发送数据自动由硬件置1 并且同时执行中断程序 也必须在中断程序中写0 RI 接收中断标志位 收到数据自动由硬件置1 并且同时执行中断程序 也
  • 全球与中国注塑磁体市场竞争策略分析及投资前景研究报告2021-2027年版

    全球与中国注塑磁体市场竞争策略分析及投资前景研究报告2021 2027年版 2020年 全球注塑磁体市场规模达到了 亿元 预计2027年将达到 亿元 年复合增长率 CAGR 为 本报告研究全球与中国市场注塑磁体的产能 产量 销量 销售额 价
  • 华为云云服务器评测|前端开发同学的初体验部署贪吃蛇!

    文章目录 前言 初配置 初始化宝塔面板 安装Nginx 上传项目 修改nginx配置 效果展示 前言 作为一名前端同学 我的技能和日常工作主要集中在用户界面的设计和交互上 与服务器产品相关的经验相对较少 正好看到了咱们华为云开展的评测活动
  • pta冒泡排序c语言_PTA 冒泡排序

    编程实现冒泡排序函数 void bubbleSort int arr int n 其中arr存放待排序的数据 n为数组长度 1 n 1000 函数接口定义如下 对长度为n的数组arr执行冒泡排序 void bubbleSort int ar
  • 统计学习:ANOVA(方差分析)(1)

    统计学习 最近在处理数据的过程中 越发发觉自己理论知识的薄弱 因此 开始了这一系列的帖子 记录自己的理论补充过程 同时方便后来人理解 ANOVA 方差分析 方差分析 Analysis of Variance 简称ANOVA 又称 变异数分析
  • 思科配置STP生成树协议

    第一步 给所有接口开trunk 第二步 左边的三层交换机和右边的三层交换机建立vlan 并给上IP地址 第三步 下面的二层交换机创建两个vlan 第四步 左边三层交换机配置 spanning tree mode pvst 开启vlan快速生
  • netty实现websocket推送消息

    前言 由于http协议为应答模式的连接 无法保持长连接于是引入了websocket套接字长连接概念 能够保持数据持久性的交互 本篇文章将告知读者如何使用netty实现简单的消息推送功能 websocket请求头 GET HTTP 1 1 H
  • apt 安装nginx

    ubuntu和debain下的apt方式安装软件很方便 特别是对于新手安装和卸载nginx 由于nginx不能动态添加模块 所以会经常安装和卸载 升级 apt安装nginx方法 sudo apt add repository ppa ngi
  • 旋转轴、旋转矩阵、四元数之间相互转换

    1 旋转轴To四元数 假设某个旋转是绕单位向量 n n x n y n z n n x n y n z n nx ny nz 进行了角度为 theta 的旋转 那么这个旋转的四元数形式为 q c o s 2 n x s i n 2 n y
  • java排查一个线上死循环cpu暴涨的过程

    问题 打一个页面cpu暴涨 打开一次就涨100 一会系统就卡的不行了 排查方法 因为是线上的linux 没有用jvm监控工具rim链接上去 只好用命令排查 top cpu排序 一个java进程cpu到500 了 什么鬼 查到对应java进程