线上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行