linux中CPU占用过高定位问题

· JAVA笔记 linux CPU占用过高 CPU过高处理 JAVA程序CPU过高 · 6043 阅读 · 约 1 分钟

前几天在项目运行过程中突然出现CPU占用超过80%一时之间找不到问题出在哪里

然后使用以下方法排查出问题

记录下1

1.top

使用top命令定位占用cpu高的进程 pid : 30484

image.png

2.查看进程

查看进程 pid : 30484的线程占用情况:

ps -mp 30484 -o THREAD,tid,time| sort -n -k1 -r

image.png

3.线程ID转换为16进制格式

需要的线程ID转换为16进制格式: printf "%x " tid

printf "%x " 30484

image.png

4.打印堆栈信息

印线程的堆栈信息: jstack 7714| grep 5ad8-A 30

image.png

定位到问题