Skip to content
本页内容

Action

java java-01

线上问题排查

text
top命令查看系统CPU的占用情况
top

查看进程的各个线程运行情况
top -Hp 9(pid)

将需要查看的线程转换成16进制
printf "%x\n" 10

jstack pid(转换后的16进制)

通过 top命令查看当前CPU消耗过高的进程是哪个,从而得到进程id;

然后通过 top-Hp 来查看该进程中有哪些线程CPU过高,一般超过80%就是比较高的,80%左右是合理情况。这样就能得到CPU消耗比较高的线程id。

接着通过该 线程id的十六进制表示在 jstack日志中查看当前线程具体的堆栈信息。

我们可以根据堆栈信息,直接定位到UserController的34行,查看代码中具体是什么原因导致计算量如此之高


Arthas 排查
top命令查看系统CPU的占用情况
top

查看进程的各个线程运行情况
top -Hp 9(pid)

将需要查看的线程转换成16进制
printf "%x\n" 10

jstack pid(转换后的16进制)

通过 top命令查看当前CPU消耗过高的进程是哪个,从而得到进程id;

然后通过 top-Hp 来查看该进程中有哪些线程CPU过高,一般超过80%就是比较高的,80%左右是合理情况。这样就能得到CPU消耗比较高的线程id。

接着通过该 线程id的十六进制表示在 jstack日志中查看当前线程具体的堆栈信息。

我们可以根据堆栈信息,直接定位到UserController的34行,查看代码中具体是什么原因导致计算量如此之高


Arthas 排查