【JVM-04】线上CPU100%

【JVM-04】线上CPU100%

  • 1. 如何排查
  • 2. 再举一个例子

1. 如何排查

⼀般CPU100%疯狂GC,都是死循环的锅,那怎么排查呢?先进服务器,⽤top -c 命令找出当前进程的运⾏列表按⼀下 P 可以按照CPU使⽤率进⾏排序显示Java进程 PID 为 2609 的java进程消耗最⾼。

[root@VM-8-7-centos ~]# top -c

在这里插入图片描述

然后我们需要根据PID 查出CPU⾥⾯消耗最⾼的进程
使⽤命令 top -Hp 2609 找出这个进程下⾯的线程,继续按P排序

[root@VM-8-7-centos ~]# top -Hp 2609

可以看到 2854 CPU消耗最⾼
在这里插入图片描述
2854是⼗进制的,我们需要转换为⼗六进制,转换结果:b26
接下来就需要导出我们的进程快照了,看看这个线程做了啥

[root@VM-8-7-centos ~]# jstack -l 2609 > ./2609.stack

再⽤grep查看⼀下线程在⽂件⾥做了啥

[root@VM-8-7-centos ~]# cat 2609.stack |grep 'b26' -C 8

这⾥就随便定位⼀个,基本上这样查都可以定位到你死循环的那个类。
在这里插入图片描述

2. 再举一个例子

public class FullCPU {public static void main(String[] args) {while(true){}}
}java -cp . FullCPU

在这里插入图片描述

PID (进程标识符)
[root@VM-8-7-centos ~]# top -Hp 12844

结合起来,top -Hp 12844 命令的作用是:
-H 显示所有线程 -p12844 只显示 PID 为 12844 的进程信息

  1. 启动 top 命令。
  2. 显示 PID 为 12844 的进程及其所有线程的详细信息。
  3. 实时更新该进程和线程的资源使用情况。

在这里插入图片描述

[root@VM-8-7-centos ~]# jstack -l 12844 > ./12844.stack1284516进制为0x322d
cat 12844.stack |grep '0x322d' -C 8

在这里插入图片描述

[root@VM-8-7-centos ~]# jstack -l 12844 > ./12844.stack执行这个命令后,jstack 工具将生成一个包含 PID 为 12844 的 Java 进程的所有线程的当前状态的快照,并将其保存到 ./12844.stack 文件中。文件内容通常包括每个线程的堆栈跟踪、线程状态以及锁信息。

完整命令:cat 12844.stack | grep '0x322d' -C 8

  1. 这条命令首先使用 cat 命令显示 12844.stack 文件的内容。
  2. 然后通过管道符 | 将 cat 命令的输出传递给 grep 命令。
  3. grep 命令搜索包含 ‘0x322d’ 的行,并显示该行及其上下 8 行的内容。

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

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

相关文章

苏东坡传-读书笔记七

苏堤和西湖之与杭州,正如美女花容月貌上的双眸。我常想,倘若西湖之是空空的一片水——没有苏堤那秀美的修眉和虹彩般的仙岛,一画龙点睛增其神韵,那西湖该望之如何?几百年来的中国游客,春季到来之时,向西湖…

如何在Python中实现一个简单的爬虫程序

如何在Python中实现一个简单的爬虫程序 随着互联网的发展,数据已成为当今社会最宝贵的资源之一。而爬虫程序则成为了获取互联网数据的重要工具之一。本文将介绍如何在Python中实现一个简单的爬虫程序,并提供具体的代码示例。 确定目标网站 在开始编写爬…

【Python】已解决:urllib.error.HTTPError: HTTP Error 403: Forbidden

文章目录 一、分析问题背景二、可能出错的原因三、错误代码示例四、正确代码示例五、注意事项 已解决:urllib.error.HTTPError: HTTP Error 403: Forbidden 一、分析问题背景 在使用Python的urllib库中的urlopen或urlretrieve函数下载文件时,有时会遇到…

全国30省份各省资本存量数据固定资本形成总额永续盘存法(2000-2023年)

各省资本存量数据通过永续盘存法进行了详细的计算,这一方法覆盖了中国30个省份(不包括西藏),提供从2000年起直至2023的资本存量数据集。包括原始数据、测算过程、最终的资本存量结果。 以2000年作为基期年份,依据…

电路笔记(PCB):电流容量(IPC-2221和IPC-2152)+阻抗匹配

电流容量 IPC-2221经验公式 I K T b A c IK\times T^{b}\times A^{c} IKTbAc 这个公式用于估计PCB(Printed Circuit Board,印刷电路板)导线上的电流(I),其中T和A分别表示温度(Temperature&a…

flex布局中子元素内容超出时,子元素本身出现滚动条实现方法

flex布局中子元素宽度平均分配,并且当子元素内容超出时,子元素本身出现滚动条实现方法: 将父元素设置为display: flex,以启用Flexbox布局。将每个子元素的flex属性设置为1,以使其宽度平均分配。设置子元素的overflow属…

ComfyUI流程图、文生图、图生图步骤教学!

前言 leetcode , 209. 长度最小的子数组 给定一个含有 n 个正整数的数组和一个正整数 target 。 找出该数组中满足其总和大于等于 target 的长度最小的子数组 [numsl, numsl1, …, numsr-1, numsr] ,并返回其长度。如果不存在符合条件的子数组,返回 0 …

大厂都在“抢滩”欧洲杯,你该如何蹭上热度?

2024欧洲杯战至第三轮小组赛,德国、瑞士、西班牙、意大利已出线角逐1/8决赛。 云略统计,欧洲杯开战至今,抖音上“欧洲杯”相关话题高达1000个,其中#谁是欧洲杯预言家 话题播放量高达7.57亿,C罗、姆巴佩等国际巨星更是频…

DB-100撕裂开关 JOSEF约瑟 合金接线端子,轻松接线

一、产品概述 型号:DB-100 主要用途:DB-100撕裂开关主要用于监测皮带输送机在运行过程中是否发生纵向撕裂,一旦发现撕裂情况,立即触发报警或停机,以保护设备和生产线的安全运行。 二、技术特点 检测原理:…

Snipaste截图工具的下载

Snipaste是一款简单而强大的桌面截图工具,它不仅支持快速截图,还提供了丰富的编辑和贴图功能,极大地提升了用户的工作效率。 网址:Snipaste 下载 1.进入文件夹解压缩 2.解压缩后打开双击运行 3.快捷键F1截图 F3截图固定桌面 …

2024年6月总结及随笔之打卡网红点

1. 回头看 日更坚持了547天。 读《人工智能时代与人类未来》更新完成读《AI未来进行式》开更并更新完成读《AI新生:破解人机共存密码》开更并持续更新 2023年至2024年6月底累计码字1267912字,累计日均码字2317字。 2024年6月码字90659字,…

泰勒展开式在Android系统或应用程序中的应用

泰勒展开式在Android系统或应用程序中的应用 引言 泰勒展开式(Taylor Series)是高等数学中的一个重要工具,它允许我们将一个复杂函数表示为一个无穷多项式的和,从而近似计算函数值。在Android开发中,理解和应用泰勒展开式有助于优化涉及复杂数值计算的算法,提高应用程序…

MySQL 9.0创新版发布!功能又进化了!

作者:IT邦德 中国DBA联盟(ACDU)成员,10余年DBA工作经验, Oracle、PostgreSQL ACE CSDN博客专家及B站知名UP主,全网粉丝10万 擅长主流Oracle、MySQL、PG、高斯及Greenplum备份恢复, 安装迁移,性能优化、故障…

稳居C位的AIGC,真能让人人都成“设计大神”?

在当今数字化时代,随着人工智能技术的飞速发展,AIGC(AI Generated Content,即人工智能生成内容)已经逐渐成为设计领域的新宠。特别是在UI设计领域,AIGC的崛起引人注目,甚至有人宣称,…

大数据、人工智能、云计算、物联网、区块链序言【大数据导论】

各位大佬好 ,这里是阿川的博客,祝您变得更强 个人主页:在线OJ的阿川 大佬的支持和鼓励,将是我成长路上最大的动力 阿川水平有限,如有错误,欢迎大佬指正 本篇序言前 必看 【大数据导论】—大数据序言 这是…

以 Vue 3 项目为例,你是否经常遇到 import 语句顺序混乱的问题?要想解决它其实很容易!

大家好,我是CodeQi! 在项目开发过程中,我们经常会遇到项目中的 import 语句顺序混乱的问题。 这不仅会影响代码的可读性,还可能使我们代码在提交的时候产生不必要的冲突。 面对这种情况,要想解决它其实很容易。 通过合理的规范和自动化工具,我们可以确保 import 语句…

计算机网络 —— 路由协议:RIP、OSPF、BGP、MPLS

路由协议 1. 定义2. IGP2.1 RIP2.2 OSPF 3. BGP4. MPLS 1. 定义 互联网中需要通过路由将数据发送至目标主机。 路由器根据路由控制表(RoutingTable)转发数据包,它根据所收到的数据包中目标主机的IP地址与路由控制表的比较得出下一个应该接收的路由器。 &#xff…

盛元广通打造智慧校园实验室安全管理系统

盛元广通智慧校园实验室安全管理系统以安全为重点,构建由学校、二级单位、实验室组成的三级联动的实验室安全多级管理体系、多类用户角色,内置教育部标准检查表,支撑实验室相关业务过程的智慧管理。实现通过PC端/手机移动端开展检查工作、手机…

将exe文件添加到注册表中,实现开机时自动运行

目录 一、前言 二、代码 三、使用步骤 1.编译生成exe文件、 2.以管理员身份运行代码 3.打开注册表,验证结果 一、前言 在Windows操作系统中,将exe文件的路径添加到注册表下,主要用于实现程序的开机自动运行功能。 注册表路径为&#xf…

Python中的并发编程(5)PyQt 多线程

PyQt 多线程 1 卡住的计时器 我们定义了一个计时器,每秒钟更新一次显示的数字。此外我们定义了一个耗时5秒的任务oh_no,和按钮“危险”绑定。 当我们点击“危险”按钮时,程序去执行oh_no,导致显示停止更新了。 import sys im…