线上CPU高问题排查

当我们的应用上线之后,运行一段时间发现CPU居高不下,现在我来带领大家一起排查问题所在。

  • 首先,使用top命令查看cpu高的进程,发现进程号为3633的进程cpu占用99%

top

  • 进入该进程,查看线程的cpu占用情况

top -Hp 3633 #linux系统
ps -o pid,%cpu #mac系统
  • 获取到线程id后,转化为16进制

jstack 4062 | grep '0x9203' # jstack 进程id | grep '16进制线程id'

上图中定位到了问题出现在类DemoApplication.java的12行