CPU故障的方法和技巧

刚解决完线上cup占用过高问题,记录下。

top 找到cup占比过高的pId 33116
 

2.查看java进程里面的线程的占用情况

top -H -p 33116

说明:-H 指显示线程,-p 是指定进程

拿到java的pid

jstack pid就可以看这个地方的代码逻辑了

jstack命令格式:

jstack [ option ] pid

参数说明:

-F jstack [-l] pid无法响应时,强制打印堆栈

-l l长列表. 打印关于锁的附加信息,例如属于java.util.concurrent的ownable synchronizers列表.

-m 混合模式输出(包括java和本地c/c++片段)堆栈。

pid: java应用程序的进程号

排查CPU故障的方法和技巧有哪些:

1、top命令:Linux命令。可以查看实时的CPU使用情况。也可以查看最近一段时间的CPU使用情况。

2、ps命令: Linux命令。强大的进程状态监控命令。可以查看进程以及进程中线程的当前CPU使用情况。属于当前状态的采样数据。

3、jstack:  Java提供的命令。可以查看某个进程的当前线程栈运行情况。根据这个命令的输出可以定位某个进程的所有线程的当前运行状态、运行代码,以及是否死锁等等。

4、pstack:Linux命令。可以查看某个进程的当前线程栈运行情况

猜你喜欢

转载自blog.csdn.net/hxiaowang/article/details/84342463