问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

linux cpu使用率过高排查

发布网友 发布时间:2022-04-19 15:14

我来回答

1个回答

热心网友 时间:2022-04-10 14:13

方法一

第一步:使用

top命令,然后按shift+p按照CPU排序

找到占用CPU过高的进程的pid

第二步:使用

top -H -p [进程id]

找到进程中消耗资源最高的线程的id

第三步:使用

echo 'obase=16;[线程id]' | bc或者printf "%x\n" [线程id] 

将线程id转换为16进制(字母要小写)

bc是linux的计算器命令

第四步:执行

jstack [进程id] |grep -A 10 [线程id的16进制]”

查看线程状态信息

方法二

第一步:使用

top命令,然后按shift+p按照CPU排序

找到占用CPU过高的进程

第二步:使用

ps -mp pid -o THREAD,tid,time | sort -rn

获取线程信息,并找到占用CPU高的线程

第三步:使用

echo 'obase=16;[线程id]' | bc或者printf "%x\n" [线程id]

将需要的线程ID转换为16进制格式

第四步:使用

jstack pid |grep tid -A 30 [线程id的16进制]

打印线程的堆栈信息

案例分析

场景描述

生产环境下JAVA进程高CPU占用故障排查

解决过程

1、根据top命令,发现PID为2633的Java进程占用CPU高达300%,出现故障。

2、找到该进程后,如何定位具体线程或代码呢,首先显示线程列表,并按照CPU占用高的线程排序:

1

   

[root@localhost ~]# ps -mp 2633 -o THREAD,tid,time | sort -rn

   

显示结果如下:


找到了耗时最高的线程(TID)3626,占用CPU时间有12分钟了!

3、将需要的线程TID转换为16进制格式

12

   

[root@localhost ~]# printf "%x\n" 3626e18

   

4、最后使用jstack命令打印出该进程下面的此线程的堆栈信息:

1

   

[root@localhost ~]# jstack 2633 |grep "e18" -A 30

   

相比故障的解决而言,发现故障也同等的重要!市场上的大多数监控软件都能实现服务器负载的实时观测,比如:Zabbix、Nagios、阿里云监控(针对云服务器)等。但是当中大部分的软件都需要运维同学主动去设置规则或者检测才能发现问题,如何被动的也能收到告警呢?

推荐大家一个实用的运维软件——王教授,对于业务部署在阿里云上的用户,只需绑定需要监控的只读AcessKey,即可将云上资源的告警信息及时通知给对应的团队成员。

化主动为被动的方式,一方面减轻了运维工程师的工作,另一方面也减小了运维漏看或者忽略告警的情况发生。

声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 爱奇艺手机客户端怎么签到啊? 爱奇艺怎么使用积分 手机怎么查询宽带号 怎么查看自己的宽带号 !如何查看宽带账号 宽带号码忘记了如何查询 宽带账号忘了怎么查询 怎么看自己的宽带号码 怎么查找宽带的用户名和密码? 我有一部联通宽带,忘记宽带号码了,怎么查? 查宽带号码怎么查 宽带号码怎么找 怎么查看自己的宽带账号 怎么查自己的宽带户号 怎么查看宽带号 怎么查询宽带账号? 怎么查找宽带账号 怎么查询自己的宽带账号 爱奇艺积分咋得的? 支付宝里财富有料怎么改头像? Linux 如何查看当前占用CPU或内存最多的K个进程 有一个集群,很多台电脑~在Linux下怎么看这些电脑... linux下如何查看最消耗CPU,内存的进程 Linux下怎么查看高CPU占用率线程 Linux下如何查看高CPU占用率线程 linux查看内存占用最多的程序怎么查 Linux下CPU占用率较高如何排查 linux 什么命令可以查看CPU使用率最高的进程啊 东芝打印机驱动下载后怎么安装 怎样安装东芝166复印机打印驱动 toshiba打印机驱动怎样安装 window10系统装不上东芝打印机2010 怎样安装toshiba打印复印一体机驱动 东芝166打印机驱动怎么安装 跪求win8系统 怎么安装东芝181打印机驱动 我东芝223打印机怎么安装 如何安装东芝180一体打印机 电脑上搜不到东芝2309a打印机驱动安装步骤 win7 64位操作系统怎样安装东芝e-studio200s 打印... 有谁知道爱奇艺信用积分哪里可以查到?