java CPU异常高 - jstack
【现象】:java cpu异常高
【猜测】:可能java代码异常
【实操】:登录linux服务器
1.执行top命令,查看CPU靠前的进程:如pid=2474
top
2.查看当前进程下,各线程的使用情况,在线程列表中找出time时间比较长的线程的pid,如pid=123456
ps -mp 2474 -o THREAD,tid,time
3.将123456转化为16进制,为1e240
printf "%x\n" 123456
4.打印线程的堆栈信息,就可以准确定位到是哪几行代码有问题
jstack 2474 |grep 0x1e240 -A 30
注:jstack jvm工具,查看当前线程的运行情况
【分析】:分析java代码是否真有问题
【测试】:对该段代码进行详细测试,并优化决绝问题