首页 > 编程语言 >【JAVA线上问题解决】JAVA应用程序CPU持续飙高,如何排查问题,如何快速定位问题,解决问题?

【JAVA线上问题解决】JAVA应用程序CPU持续飙高,如何排查问题,如何快速定位问题,解决问题?

时间:2024-09-10 20:50:28浏览次数:13  
标签:JAVA 定位问题 top jstack 飙高 线程 ID

【JAVA线上问题解决】JAVA应用程序CPU持续飙高,如何排查问题,如何快速定位问题,解决问题?

场景一、JAVA程序中某个线程占用CPU飙高,问题定位 top、jstack命令的使用

四步教你快速定位问题代码

1. top命令获取异常的java进程 PID
    top
2. 查询异常进程中的线程情况, 获取异常线程的线程ID
    top -Hp {PID}
3. 将线程ID转为十六进制
    printf "%x\n"  线程ID 
4. jstack工具跟踪堆栈定位问题代码
    jstack 进程PID | grep 十六进制的线程ID -A 30
 

场景二、JAVA程序中不上某个线程占用CPU飙高,问题定位 vmstat、 top、jstack命令的使用

如果不是单独的某个线程导致cpu飙高,那可能是多个线程之间切换导致cpu占用持续飙高。可以通过vmstat 命令来判断

1. 查询线程切换的频率,2秒刷新一次

vmstat 2 

2. 定位问题线程

top -Hp {PID}

3. 找到任意一个问题线程,线程id转换成十六进制

    printf "%x\n"  线程ID 

4. jstack工具跟踪堆栈定位问题代码
    jstack 进程PID | grep 十六进制的线程ID -A 30
 

标签:JAVA,定位问题,top,jstack,飙高,线程,ID
From: https://blog.csdn.net/xzb5566/article/details/142095449

相关文章

  • FreeSwitch之TTS 对接paddlespeech (windowsJava版)
    本来计划FreeSwitch通过tts_commandline对接第三方语音合成,但是由于在家安装的是windows版本,系统安装后mod缺少commandline模版,所以导致无法使用该模版。系统自带的TTS引起filter效果非常差,且不支持中文语音合成,导致在测试的过程中很多工作进行不下去。家里的电脑是windows10......
  • PaddleSpeech TTS API与流式速度对比(windows Java版)
    首先本地环境要安装部署PaddleSpeech语音识别系统,参考Windows10系统部署PaddleSpeech本地部署好后,根据官方文档启动TTS的流式服务,参考PaddleSpeech语音启用流式服务1、相关服务的启动 1.1本机启动TTSAPI服务paddlespeech_serverstart--config_file./demos/speech_ser......
  • 欢迎来到我的Java世界“抽象类”
    前言在上篇中我们学习到了继承的概念、语法等等,那么小编将来为大家方享下一篇Java中的抽象类。1.抽象类的概念2.抽象类的语法3.抽象类的特性4.抽象类的作用一:讲到抽象类,大家是不是会很迷惑什么是抽象类?在面向对象的概念中,所有的对象都是通过类来描绘的,但是反过来,并......
  • Java【类和面向对象】
    Java作为一种面向对象的编程语言,支持类、对象、继承、封装、多态、接口、抽象、方法、方法重载的概念。1.类和对象1.1基本概念1.1.1类(Class)一组相关属性和行为的集合。可以看成是一类事物的模板,用于定义对象的蓝图,包括属性和方法(描述该类事物)。1.1.2对象(Object)一类事物......
  • Java基础14
    Annotation注解理解:是从jdk5.0开始引入,,以“@注解名”在代码中存在>Annotation可以像修饰符一样被使用,可用于修饰包、类、构造器、方法、成员变量、参数、局部变量的声明。  还可以添加一些参数值,这些信息被保存在Annotation的"name=value"对中。>注解可以在类编译、运......
  • [Java并发]Concurrenthashmap的size()
    1.一致性定义关于一致性的定义,大概如下:一致性(Consistency)是指多副本(Replications)问题中的数据一致性。可以分为强一致性、顺序一致性与弱一致性。1.1强一致性(StrictConsistency)强一致性也被可以被称做:原子一致性(AtomicConsistency)线性一致性(LinearizableConsistency)要......
  • java----双列集合(Map)
    来看一下双列集合。我们知道,单列集合就是一次只能添加一个元素:单列集合: 双列集合一次可以存储两个值:一、双列集合特点:    1.双列集合一次需要存一对数据,分别为键和值    2.键不能重复,值可以重复    3.键和值是一一对应的,每个键只能找到......
  • JAVA —— IO流续
    复习一下上次的字节流 一、字符流1.Reader——FileReader 文件字符输入流——读字符数据进来2.Writer——FileWriter文件字符输出流——写字符数据进去  1.Reader——FileReader(文件字符输入流) publicstaticvoidmain(String[]args){ try( ......
  • Java中的修饰符
    1.访问权限修饰符访问权限分四种级别:公开级别:用public修饰,对外公开。受保护级别:用protected修饰,向子类及同一个包中的类公开。默认级别:没有访问权限修饰符,向同一个包中的类公开。私有级别:用private修饰,只有类本身可以访问,不对外公开。下图总结访问级别访问权限修饰符同......
  • Java 反射机制
    目录一.概述二.反射的特点三.反射主要应用四.反射注意事项五.代码示例详解1.解析图:2.获取字节码对象3.通过反射获取构造函数并创建对象4.通过反射获取对象字段信息5.通过反射获取方法并执行6.通过反射获取注解信息六.总结1.获取Class字节码对象方式......