JAVA CPU占用率高问题解决
程序员文章站
2022-07-09 13:42:27
...
1.top命令查看cpu占用率高的进程
2.查看该进程下有哪些线程在占用cpu
ps -mp 27404 -o THREAD,tid,time
发现有很多执行几个小时的东西。
3.在进一步查看该线程里面具体在执行什么东西
printf "%x\n" 27404 -- ID转成16进制
jstack 27404 |grep 72d9 -A 50 查看具体的错误信息
错误日志如下:
发现有几个是我们的方法。delete语句怎么会到分页拦截器里面去呢?
仔细检查了下代码,发现这么一个mapper配置:
<select id="deleteOvertimeReaukey" >
DELETE FROM frc_order_reaukey where OVER_TIME < now()
</select>
经过测试:select标签的sql,会进入到拦截器,经过拦截器执行delete语句会超时;delete标签的可以正常执行,修改为delete标签后解决问题。