cpu100%如何排查 如何排查CPU使用率达到100%的问题(2)
cpu100%如何排查

然后,我么能看到了我们需要的线程名称、线程状态,哪个方法的哪一行代码消耗了最多的 CPU 都很清楚了。
第二种,Arthas
Arthas 是阿里开源的一款线上监控诊断产品,通过全局视角实时查看应用 load、内存、gc、线程的状态信息,并能在不修改应用代码的情况下,对业务问题进行诊断,包括查看方法调用的出入参、异常,监测方法执行耗时,类加载信息等,大大提升线上问题排查效率。
用 Arthas 查找占用 CPU 最高的方法只是一个开胃小菜,除此之外,它最大的用途是在不改代码、不重启服务的情况下对程序进行动态监控。如果你碰到了线上诡异问题,一定要用 Arthas 尝试找一找问题,开阔一下眼界。
好了,更多的功能到官网 https://arthas.aliyun.com/ 了解吧,接下来就将一下如何用 Arthas 达到前面用 jstack 同样的目的。
安装Arthas
当然了,要使用 Arthas,你就必须先把它安装到你的目标服务器上,也就是那个出问题的Java服务所在的服务器。
下载 jar 包
curl -O https://arthas.aliyun.com/arthas-boot.jar
启动 Arthas 服务
java -jar arthas-boot.jar
启动之后,会列出当前这台服务器上的所有 Java 进程,然后你选择你要排查的那个服务即可。

然后出现arthas@之后表示已经启动,并成功 attach 到目标进程上 。
然后可以输入命令dashboard看一下实时面板,默认 5 秒刷新一次,在这个面板上能够看到线程、内存堆栈、GC和Runtime的基本信息。如果你用过 VisualVM 的话,就和那个基本一样。

好了,开始用 Arthas 找到导致 CPU 负载过高的问题吧。
找到占用CPU最高的进程
第一步,其实还是用top命令找到占用 CPU 最高的进程,也就是 Arthas 启动时选择 attach 的那个 Java 进程。
然后java -jar arthas-boot.jar启动Arthas,并attach 。
找到占用CPU最高的线程
执行thread命令,这个命令会显示所有线程的信息,并且把CPU使用率高的线程排在前面。
这样,一眼就看出来了,第一个线程的 CPU 使用率高达 99% 了,就是它。
相关阅读
-
清除手机垃圾的软件有哪些 能深度清理手机内存的软件推荐
正文核心介绍:清除手机垃圾的软件有哪些和能深度清理手机内存的软件推荐的介绍,一起来看看吧! 最近小雷发现了件怪事,新买不久的256GB安卓手机居然快没储存空间了!! 虽说小雷经常
-
tplink子网掩码是什么 tp路由器子网掩码是多少?
有网友在咨询: tplink子网掩码是什么 tp路由器子网掩码是多少? 下面IT袋小编就给大家解答下这个问题。 疑问解答: tplink路由器子网掩码是:255.255.255.0,默认的LAN IP地址(也就是电脑获取到
-
xbox series x和ps5配置 xbox series x和ps5怎么选择
相对于大多数人xbox series x和ps5怎么选择的话题,关于xbox series x和ps5怎么选择 以及 xbox series x和ps5配置,接下来一起来看看吧。 xbox series x号称新时代性能最强的游戏主机,不过它的性能其实和
-
小米路由器恢复出厂设置后怎么办 小米路由器恢复出厂设置后怎么重
关于小米路由器恢复出厂设置后怎么重新设置的电脑小知识,小米路由器恢复出厂设置后重新设置分为三步,在手机网络里设置好网络参数即可,具体操作步骤如下:


