linux死锁问题和cpu使用率过高问题排查

1、问题共同点

死锁问题和cpu使用率过高都是需要我们找出对应的问题线程。
死锁问题需要我们找出哪两个线程出现了死锁情况。
cpu使用率过高需要我们找出哪个或哪些线程占用了大量的cpu。

2、命令排查

2.1、查看机器上的Java进程

 jcmd

jps

在这里插入图片描述

2.2、查看对应Java进程的线程级别的cpu使用情况

 top -H -p 520748 

在这里插入图片描述
如上我们可以看到PID是520762的线程使用cpu最多了,接下来我们来找出这个线程。
这里的线程PID是十进制的,对应的十六进制是0x7f23a。

2.3、查看目标进程的线程栈信息

 jstack 520748 >> 202408242125.txt

把520748 这个进程的线程栈信息导出到202408242125.txt这个文件中。

2024-08-24 21:25:03
Full thread dump Java HotSpot(TM) 64-Bit Server VM (25.291-b10 mixed mode):"Attach Listener" #1946 daemon prio=9 os_prio=0 tid=0x00007f9670011000 nid=0x1f0ca6 waiting on condition [0x0000000000000000]java.lang.Thread.State: RUNNABLE"nioEventLoopGroup-5-4" #101 prio=10 os_prio=0 tid=0x00007f96683e2000 nid=0xa37d0 runnable [0x00007f964aafa000]java.lang.Thread.State: RUNNABLEat sun.nio.ch.EPollArrayWrapper.epollWait(Native Method)at sun.nio.ch.EPollArrayWrapper.poll(EPollArrayWrapper.java:269)at sun.nio.ch.EPollSelectorImpl.doSelect(EPollSelectorImpl.java:93)at sun.nio.ch.SelectorImpl.lockAndDoSelect(SelectorImpl.java:86)- locked <0x00000000c7c690d0> (a io.netty.channel.nio.SelectedSelectionKeySet)- locked <0x00000000c7cfff28> (a java.util.Collections$UnmodifiableSet)- locked <0x00000000c7cffe50> (a sun.nio.ch.EPollSelectorImpl)at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:97)at sun.nio.ch.SelectorImpl.select(SelectorImpl.java:101)at io.netty.channel.nio.SelectedSelectionKeySetSelector.select(SelectedSelectionKeySetSelector.java:68)at io.netty.channel.nio.NioEventLoop.select(NioEventLoop.java:810)at io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:457)at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:989)at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)at java.lang.Thread.run(Thread.java:748)

文件里的nid就是线程id(16进制)。
在文件里搜索0x7f23a即可找到对应的线程信息


"C2 CompilerThread0" #5 daemon prio=9 os_prio=0 tid=0x00007f96a0142000 nid=0x7f23a waiting on condition [0x0000000000000000]java.lang.Thread.State: RUNNABLE

当然我们找到的这个线程使用cpu率并不高,只有2.3%。但是这种找到对应线程的模式是正确的。

2.4、死锁问题

死锁问题也需要我们导出对应进程的线程信息栈。去查找处于阻塞(BLOCKED)状态的线程
这个是线程的状态枚举:java.lang.Thread.State。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/409469.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

简单的jar包重打包Failed to get nested archive for entry 报错处理

简单的jar包重打包Failed to get nested archive for entry 报错处理 1. 需求 公司有一个后端项目&#xff0c;项目已经打好了jar包&#xff0c;现在我们发现jar包依赖的子包有问题&#xff0c;其中的一个mybatis xml文件查询数据不正确&#xff0c;我们需要替换项目&#xf…

Java语言程序设计基础篇_编程练习题*17.4 (将文本文件转換为UTF格式)

目录 题目&#xff1a;*17.4 (将文本文件转換为UTF格式) 习题思路 代码示例 输出结果 题目&#xff1a;*17.4 (将文本文件转換为UTF格式) 编写一个程序&#xff0c;每次从文本文件中读取多行字符&#xff0c;并将这些行字符以UTF-8字符串格式写入一个二进制文件中…

Jenkins 2.346.1完整搭建及项目部署安装

java version "1.8.0_202" 1.安装 官网下载war包直接启动&#xff0c;比较简单&#xff0c; linux命令 &#xff1a; wget https://mirrors.jenkins.io/war-stable/2.346.1/jenkins.war 2.启动命令 nohup java -jar jenkins.war --httpPort8777 --prefix/jenkin…

整套厨帽检测算法样本、模型、源码和厨帽算法识别应用方案介绍

厨帽检测算法的应用方案主要涉及技术选型、硬件配置、软件集成、部署与监控以及应对实际挑战等多个方面。以下是一个详细的应用方案概述&#xff1a; 一、技术选型 深度学习技术&#xff1a;厨帽检测算法主要基于深度学习技术&#xff0c;特别是卷积神经网络&#xff08;CNN&…

“解锁进程间高效沟通,Linux IPC是你的关键钥匙!“#Linux系统编程之进程间通信【下】

"解锁进程间高效沟通&#xff0c;Linux IPC是你的关键钥匙&#xff01;"#Linux系统编程之进程间通信【下】 前言预备知识一、 共享内存概述1.1 共享内存概述简图 二、 共享内存编程实战2.1 共享内存介绍2.1.1 共享内存的特点 2.2 共享内存几个重要API介绍2.2.1 shmge…

三品船舶PLM解决方案详情 三品PLM软件在船舶制造行业应用优势

自2024年起&#xff0c;船舶行业PLM&#xff08;产品全生命周期管理&#xff09;技术步入关键发展阶段。国产化工业软件领域积极倡导生态合作&#xff0c;推广统一技术底座下的合作开发模式&#xff0c;整合国内外成熟的工业软件技术与应用资源&#xff0c;旨在全面提升国内船舶…

webflux源码解析(3)-reactor netty

目录 1.连接的状态2.reactor netty中的连接状态3. webflux中的io处理4.总结 为什么webflux在io密集型的场景能有效的提升系统吞吐量呢&#xff1f; 是因为它使用的是响应式编程&#xff0c;使用的是NIO&#xff0c;但这里的响应式、nio到底是怎么样的呢&#xff1f;响应式编程上…

vue的for循环不建议用index作为key

我们页面总有一些相似的&#xff0c;我们想用循环渲染&#xff0c;根据对象数组结构进行渲染&#xff0c;这是不是很熟悉的场景。这时候我们需要有一个唯一的key绑定在循环渲染的元素上&#xff0c;一般情况下我们会用id&#xff0c;因为id是唯一的。然而有些页面要循环的数据&…

生鲜O2O系统app源码开发之功能解析:构建高效便捷的生鲜电商生态

随着互联网技术的飞速发展和消费者对于生活品质要求的日益提升&#xff0c;生鲜电商行业迎来了前所未有的发展机遇。生鲜O2O&#xff08;Online to Offline&#xff09;系统作为连接线上购物与线下服务的关键桥梁&#xff0c;其源码开发不仅关乎平台的稳定运行&#xff0c;更直…

【XML详解】

XML基本概念 XML&#xff08;全称EXtensible Markup Language&#xff0c;可扩展标记语言&#xff09;&#xff1a;是一种用于存储和传输数据的标记语言&#xff0c;通过标签&#xff08;tags&#xff09;来定义数据的结构和含义。数据格式&#xff1a;XML本质上是一种数据的格…

盘点15款主流客户管理系统,助力企业选型!

本文将盘点15款主流客户管理系统&#xff1a; 简道云、纷享销客、销售易、HubSpot、Zoho CRM、SAP CRM、Oracle CRM、金蝶云星空 CRM、用友 CRM、悟空 CRM、Salesforce、Microsoft Dynamics 365、亿客 CRM、八百客 CRM、CloudCC CRM。 在当今的商业环境中&#xff0c;客户管理系…

记一次将请求改为协商缓存的艰难过程

简单回顾一下前端缓存策略 ⛏️ 强缓存&#xff1a;在请求头规定的max-age和expirse过期之前直接读取本地缓存的资源&#xff0c;如果已经过期则调用协商缓存协商缓存&#xff1a;也叫弱缓存&#xff0c;以下都称为协商缓存。协商缓存是缓存过期&#xff0c;刷新缓存时间或者文…

JVM - 1.类加载子系统

1.类加载子系统 1.作用 1.负责从文件系统或网络中加载字节码(.class)文件&#xff0c;即将物理磁盘上的字节码文件加载到内存中&#xff0c;生成供程序使用的类对象 2.字节码文件要求在文件开头有特定的文件标识(CA FE BA BE)3.类加载器(ClassLoader)只负责字节码文件的加载&am…

pdf文件渲染到canvas

1、jQuery 2、Fabric.js Fabric.js是一个对canvas进行封装的Javascript库&#xff0c;主要的功能包括在canvas上创建和填充图形&#xff0c;比如矩形、圆形、多边形&#xff1b;生成的图像自带缩放、旋转、拖拽等功能。 3、PDF.js PDF.js 是一个使用 HTML5 构建的便携式文档格式…

在Linux中如何安装JDK

一、卸载JDK &#xff08;可以不删除&#xff0c;直接安装新的JDK&#xff0c;然后修改环境变量&#xff09; 1.1卸载使用yum安装的jdk 1.1.1卸载系统预安装的JDK 使用命令&#xff1a;yum list installed |grep java 注意&#xff1a;该命令只能查看使用yum命令安装的jav…

【架构-24】XML和JSON

XML&#xff08;可扩展标记语言&#xff09;和JSON&#xff08;JavaScript对象表示法&#xff09;是两种常用的数据格式&#xff0c;用于在不同系统之间传输和交换数据。它们各有优点和缺点&#xff0c;适用于不同的场景。下面是对XML和JSON的简要介绍以及它们之间的对比。 XM…

有关于算法备案的五大误区

有关于算法备案的五大误区 在这个数据为王的时代&#xff0c;算法已然成为推动社会前进的隐形巨轮。从搜索框中的每一次点击&#xff0c;到购物车里的每一件商品推荐&#xff0c;再到朋友圈里刷屏的动态&#xff0c;算法的身影无处不在&#xff0c;悄无声息地编织着我们的数字生…

提升文旅热度带动商家增收,抖音生活服务“心动大连”活动启动

8月22日&#xff0c;抖音心动之城大连系列活动&#xff08;下称“心动大连”&#xff09;启动仪式召开&#xff0c;主题为“遇见大连&#xff0c;心动无限”。活动由大连市人民政府指导&#xff0c;大连市文化和旅游局、抖音生活服务共同主办&#xff0c;旨在发挥抖音平台内容和…

opencv-python图像增强十六:图像马赛克

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、算法流程&#xff1a;二、算法实现&#xff1a;2.1 生成背板图&#xff1a;2.2 图片添加马赛克效果 三&#xff0c;整体代码实现&#xff1a;四&#xff0c…

点亮星星的世界:当小孩得了自闭症该怎么办

在这个丰富多彩的世界里&#xff0c;每一个孩子都是独一无二的天使。然而&#xff0c;有一些孩子却仿佛被困在了自己的小小世界中&#xff0c;难以与外界正常交流和互动。他们是自闭症儿童&#xff0c;他们的世界充满了挑战和困惑&#xff0c;也让家长们陷入了深深的担忧和焦虑…