使用arthas排查cpu飙高问题

在这里插入图片描述
在这里插入图片描述

文章目录

            • 1. 下载arthas
            • 2. 启动
            • 3. 选择指定jvm进程
            • 4. 筛选线程
            • 5. 日志分析

官方文档:https://arthas.aliyun.com/doc

1. 下载arthas
curl -O https://arthas.aliyun.com/arthas-boot.jar

在这里插入图片描述

2. 启动

直接用java -jar的方式启动:

java -jar arthas-boot.jar --repo-mirror aliyun --use-http

在这里插入图片描述

说明:由于arthas监控的是jvm的进程,因此,启动arthas之前需要提前启动jvm的进程

先运行咱们的测试类Java04

java Java04

演示CPU飙高代码

public class Java04 {public static void main(String[] args) {new Thread(()->{while (true){System.out.println("1111111");}},"录单-thread").start();}
}
3. 选择指定jvm进程

然后,arthas就会提示,已经找到服务器上的关于jvm的进行列表,请选择进行编号,然后arthas就会对你指定的jvm进程进行监控,并将监控日志输出到目录中。

在这里插入图片描述

top -c

在这里插入图片描述

4. 筛选线程

查询当前进行中,哪个线程占用CPU比较高呢

排列出当前进程前3个占用cpu较高的线程

thread -n 3

在这里插入图片描述

5. 日志分析
[arthas@26289]$ thread -n 3
"录单-thread" Id=8 cpuUsage=92.79% deltaTime=189ms time=52158ms RUNNABLE (in native)at java.io.FileOutputStream.writeBytes(Native Method)at java.io.FileOutputStream.write(FileOutputStream.java:326)at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:82)at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:140)at java.io.PrintStream.write(PrintStream.java:482)at sun.nio.cs.StreamEncoder.writeBytes(StreamEncoder.java:221)at sun.nio.cs.StreamEncoder.implFlushBuffer(StreamEncoder.java:291)at sun.nio.cs.StreamEncoder.flushBuffer(StreamEncoder.java:104)at java.io.OutputStreamWriter.flushBuffer(OutputStreamWriter.java:185)at java.io.PrintStream.newLine(PrintStream.java:546)at java.io.PrintStream.println(PrintStream.java:807)at Java04.lambda$main$0(Java04.java:6)at Java04$$Lambda$1/471910020.run(Unknown Source)at java.lang.Thread.run(Thread.java:748)"arthas-command-execute" Id=23 cpuUsage=1.06% deltaTime=2ms time=10ms RUNNABLEat sun.management.ThreadImpl.dumpThreads0(Native Method)at sun.management.ThreadImpl.getThreadInfo(ThreadImpl.java:448)
"VM Periodic Task Thread" [Internal] cpuUsage=0.25% deltaTime=0ms time=58ms
[arthas@26289]$ 

从日志可以分析出:

①"录单-thread" Id=8 cpuUsage=92.79% ,是在Java04类中导致的,进一步查看这个类中“录单-thread”的处理业务
②"arthas-command-execute" Id=23 cpuUsage=1.06%,这个是arthas监控工具。

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

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

相关文章

揭秘政企安全加速解决方案的架构与应用场景实践

## 政企网络化、在线化面临哪些挑战? 政企涵盖了政府、金融、传媒以及传统企业等几个行业,随着“互联网”业态的迅速发展,政企数字化转型正当时,特别是在新冠疫情的影响下,各行各业线上业务运营能力的建设步伐进一步…

oracle 数据库 字符串函数

oracle 数据库 字符串函数 介绍oracle对字符串的操作函数,如图所示,测试字段为:STUDENT 表的 STUNAME 字段 ps:oracle字符串索引从1开始 1.定位索引函数:instr() instr(str,char,begin,n) str:源字符串 char:目标字…

jvm如何排查生产环境cpu飙高的问题

文章目录一、生产环境 cpu 飙高产生的原因?1. CAS 自旋没有控制自旋次数2. 死循环3. 阿里云 Redis 被注入挖矿程序4. 服务器被 DDOS 工具攻击二、windows环境下如何排查cpu飙高问题2.1. 任务管理器2.2. jvisualvm三、环境下如何排查cpu飙高问题3.1. 监控命令3.2. 使…

云原生人物志|华为云CTO张宇昕:云原生已经进入深水区

云原生已无处不在,《云原生人物志》是CSDN重磅推出的系列原创采访,我们关注云原生中每一个技术人、公司的身影。知微见著,窥见云原生价值与趋势。 作者 | 宋慧 出品 | CSDN云计算 头图 | 华为云网站 云原生成为云计算领域当之无愧的最热门技…

开箱即用,Knative 给您极致的容器 Serverless 体验

作者 | 冬岛 阿里巴巴技术专家 导读:托管 Knative 开箱即用,您不需要为这些常驻实例付出任何成本。结合 SLB 云产品提供 Gateway 的能力以及基于突发性能型实例的保留规格功能,极大的节省您的 IaaS 开支,您支付的每一分钱都没有浪…

oracle 11g 数据库cmd修改用户名密码及创建用户

oracle 11g 数据库cmd修改用户名密码及创建用户1. 数据库oracle 11g cmd命令修改用户名和密码1.1. 前言1.2. cmd窗口登录oracle1.3. 更改system用户的密码1.4. 测试修改成果2. 创建新用户并赋予权限2.1. cmd窗口登录oracle2.2.创建用户2.3.分配权限2.4.oracle用户权限等级1. 数…

全国交通智慧升级,阿里云视频上云打造高速公路“视觉中枢”

2019年底,交通运输部办公厅发布《全国高速公路视频联网监测工作实施方案》和《全国高速公路视频联网技术要求》,全面加快推进可视、可测、可控、可服务的高速公路运行监测体系建设。2020年底,基本建立全国高速公路视频联网监测管理机制和制度…

mysql 与 redis 如何保证数据一致性问题 ?

1.先更新 mysql 数据, 再手动清除 Redis 缓存 , 最后重新查询最新的数据同步到Redis中,保证最终一致性。 2.更新 mysql 数据, 在采用 mq 异步的形式 同步数据到 Redis 中 。 缺点: 延迟概率就比较大 优点&#xff1a…

赠书 | 隐私计算:让你的数据信息不再“裸奔”

来源 | 人民数字FINTECH责编 | 晋兆雨头图 | 付费下载于视觉中国*文末有赠书福利在互联网时代,数据隐私泄露到底有多严重?近日,微博大V袁启聪发布微博称,两周前接到一个私人手机号码来电,来电者自称是招商银行的&#…

阿里云开放平台微前端方案的沙箱实现

导读 微前端已经成为前端领域如今比较火爆的话题,关于微前端价值的讨论,可以参考克军的《拥抱云时代的前端开发框架——微前端》。微前端在技术方面,有一个始终绕不过去话题就是前端沙箱。本篇具体探讨一下,在微前端领域如何实现前…

idea全局搜索快捷鍵ctrl+shift+F失效

idea全局搜索快捷鍵ctrlshiftF失效 1.确认是否修改了默认的快捷键配置: file-settings-keymap,在右边的放大镜中搜索find in Path 确认快捷键设置的是:ctrlshiftF 2.快捷键冲突(常见的就是和输入法快捷键冲突) 以我的win10自带…

生产环境遇到难题,你是如何解决的?

文章目录1. 生产环境 cpu 飙高产生的原因?2. 生产环境如何排查cpu 飙高问题?3. 生产环境遇到了报错,你是如何定位解决的呢?4. 调用接口如果服务器端一直没有响应怎么解决?5. 你在开发过程中,遇到哪些难题&a…

OpenKruise v0.5.0 版本发布,支持无损的流式分批发布策略

作者 | 酒祝 阿里云技术专家 导读:OpenKruise 是阿里云开源的大规模应用自动化管理引擎,在功能上对标了 Kubernetes 原生的 Deployment/StatefulSet 等控制器,但 OpenKruise 提供了更多的增强功能如 优雅原地升级、发布优先级/打散策略、多可…

真正的程序员,从来不会告诉你这些事!

有没有发现,每个程序员都曾有过这样的疑问:我该从事什么技术方向?相信很多人都会跟你说:找个“钱景”好的,找个简单的,找个应用广的.....听着好像都很有道理,但很多人学了很久后才发现&#xff…

Idea更改console控制台 日志颜色(非插件)

Idea更改console控制台 日志颜色(非插件) file-setting-editor-color scheme-console colors 在右侧的选项中可以自定义更改颜色 我之前控制台日志都是亮青色。晃眼睛,就干脆把idea的亮青换成了黑色。 之前: 之后:…

流批一体机器学习算法平台

发布会传送门 产品详情 针对正在兴起的机器学习广泛而多样的应用场景,阿里巴巴计算平台基础算法团队在2017年开始基于Flink研发新一代的机器学习算法平台。该项目名称定为Alink,取自相关名称(Alibaba, Algorithm, AI, Flink, Blink&#xf…

Linux 下 Tomcat /jboss内存大小配置

找到 TOMCAT_NOME/bin/catalina.sh 文件加入以下代码: JAVA_OPTS"-Xms256m -Xmx512m -Xss1024K -XX:PermSize128m -XX:MaxPermSize256m" 具体位置如下图: 参数解释: -Xms128m JVM初始分配的堆内存-Xmx512m JVM最大允许分配的堆内存…

扎心!天天写代码,方向真的对吗?

“每个人的时间都是有限的,在有限的时间里选择一项值得投入的技术会变得尤为重要。” 笔者从 2008 年开始工作到现在也有 12 个年头了,一路走来都在和数据打交道,做过很多大数据底层框架内核的开发(Hadoop,Pig&#xf…

powerdesigner-建立数据库模型及全局脚本

powerdesigner 使用 文章目录powerdesigner 使用1. 建立数据库表模型2. 脚本统一修改表结构(赋值默认字段、统一删除、统一修改)2.1.统一添加默认字段:2.2.统一删除字段:2.3.统一修改表名称:2.4. 统一修改字段属性&…

霍因科技获首届全国信创产业生态创新奖

近日,2020首届全国信创产业生态创新大赛颁奖盛典在北京信创园举办,霍因科技提交的“霍因科技-信创云统一存储和数据湖方案”荣获生态创新奖,这彰显了霍因科技在以数据存储技术推动信息技术应用创新产业方面的卓越成就。 据悉,首届…