如何排查CPU占用100%

news/2024/11/24 13:42:33/

线上后台报警CPU占用100%CPU占用过高,本文介绍一下如何排查CPU占用过高原因。

步骤1. top

输入top命令,找到占用CPU最高的进程。按Shift+P键排序:

可以看到CPU占用最高的pid92129

步骤2. top -Hp pid

查看指定进程内线程信息,其中pid是第一步的pid

top -Hp 92129

找到占用最高的线程pid92156,然后转成十六进制,使用公式转换:

printf '%x' 92156

输出结果是:167fc

步骤3. jstack 命令

使用jstack命令分析进程状态,为了方便查询,将分析结果输入到一个文件中,jstack pid > x.txt其中pid步骤1的进程号。

jstack 92129 > x.txt

打开x.txt文件,在文件中查询步骤2转换的十六进制数:

找到非Jdk代码,也是自己写的代码,就能找到问题的根源了。

总结

  • top 找到进程号
  • top -Hp 进程号,找到线程号,线程转成十六进制。
  • jstack pid 分析。根据十六进制查询,找到问题代码位置。

http://www.ppmy.cn/news/525440.html

相关文章

CPU占用率100%解决方法

背景:下午到机房打开显示屏,操作一会儿发现电脑好卡,过了一会儿假死、鼠标有如木偶一样缓慢挪动,调出一个程序,居然半天才弹出显示。我可是一个不将就的人,机智的打开了Windows任务管理器(快捷键…

CPU使用率100%,如何解决

文章目录 CPU使用率概念CPU使用率的重要指标计算公式 查看CPU使用率CPU 使用率过高总结 CPU使用率 概念 单位时间内CPU使用情况的统计,以百分比方式显示 Linux是一个多任务操作系统,将每个CPU的时间划分为很短的时间片,通过调度器轮流分配…

一次线上服务CPU100%的排查过程

前言 突然收到线上服务cpu达到100%的报警短信,于是立即展开排查。 排查过程 理论步骤 一、找到最耗CPU的进程 工具:top 方法: 执行top -c ,显示进程运行信息列表 键入P (大写p),进程按照CPU使用率排序 二&#xf…

java进程 jvm cpu100%问题排查

排查java进程cpu100%的大致过程 之前遇到过 之前也遇到过cpu 100%的问题,原因是while循环,死循环了,一直占有cpu。cpu为什么会100% 我们都知道cpu是时分(time division)的,操作系统里有很多线程,每个线程的运行时间由…

记一次cpu100%问题排查

值班的时候发现有几台机器一直在报cpu使用率100%,下面是处理过程。 先去top命令看一下cpu的使用率,发现是java应用使用率最高。去看下jvm的内存使用情况,因为公司有监控系统可以直接查看堆内存使用情况和gc情况(没有监控的可以使…

CPU占用100%的原因及解决办法

经常出现cPU占用100%的情况,主要问题可能发生在下面的某些方面: cPU占用率高的九种可能 1、防杀毒软件造成故障 由于新版的KV、金山、瑞星都加入了对网页、插件、邮件的随机监控,无疑增大了系统负担。处理方式:基本上没有合理的处理方式,尽量…

CPU使用率到100%了?

最近,一位同事急匆匆跑过来跟我说:糟糕了,服务器CPU的使用率达100%了。 我心想不可能啊,CPU有那么多核,怎会跑满?于是看了一眼,结果虚惊一场。 这位同事看到的100%,并非指整个CPU使…

锐捷睿易:云端绑定别人账号,命令方式解绑

一、适用场景 云端绑定了别人的账号,但又不能让他解绑,只能自己解绑从新绑定自己MACC 前提:需要设备联网状态才可以解绑 二、配置步骤 1、登录macc,首页点击设备解绑 2、输入收集的设备序列号,点击获取专属URL&…