- 定位耗费CPU的进程
top -c 就可以显示进程列表,然后输入P,按照cpu使用率排序,你会看到类似下面的东西

2. 定位耗费CPU的线程
top -Hp 1500 就是输入那个进程id就好了,然后输入P,按照cpu使用率排序,你会看到类型下面的东西

3. 定位那段代码导致cpu过高
printf “%x\n” 1531 把线程pid转化为16进制,比如

4. 打印出堆栈信息
jstack 1500 | grep "5fbn" -C5 -color
这个就是用jstack打印进程的堆栈信息,而且通过grep那个进程的16进制的pid找到那个线程的相关东西,这个时候就可以在打印的代码里,看到是那个类的那个方法导致的这个cpu100%的问题
本文介绍如何使用top命令定位系统中消耗CPU资源最多的进程及线程,进一步通过jstack命令查找导致CPU过载的具体代码位置,帮助开发者快速诊断和解决性能瓶颈。
1870

被折叠的 条评论
为什么被折叠?



