欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

linux服务器CPU 高的排查过程

程序员文章站 2024-03-11 10:45:13
...

1、查看具体是哪个进程的load比较高

// 查看进程 按CPU占用排序
ps -aux --sort -pcpu

//最占CPU的10个

ps -aux --sort -pcpu | head -10

//top -c 实时

2、查看这个进程中每个线程的cpu占用率

ps -Lp 15047  cu
top -Hp 进程ID 显示一个进程ID的线程运行信息列表

3、查看这个线程的堆栈,可以定位到具体是什么代码导致

jstack java进程id  | grep 16进制的线程id  -C5 --color

// -C5是输出上下5行


jstack 11477  | grep 2f47  -C5 --color



-----------------------------------

----CPU 高的排查过程
第一步:top                        ####找进程
第二步:top -Hp pid           ####找线程
第三步:printf  "%x\n"         #####线程id   --- 10进制的线程id转十六进制的线程id
第四步:jstack pid | grep      #####线程id,如果要看详细的就把 jstack pid  到具体文件

----查看jvm内存使用情况
jmap -heap pid

----dump 线程
jmap -F -dump:file=timer.dump pid
-----------------------------------
 

cpu占用率过高问题排查

 

java应用cpu使用率过高问题排查