kaka
2015-12-30 17:25:46
dwr低版本死锁导致java web项目响应慢的bug排查
今天访问某一测试环境的项目,发现发送一次请求,服务器响应的速度非常慢,排查过程如下:
1.top命令查看服务器的CPU使用率和内存使用率,发现tomcat的进程CPU使用率非常高。
2.top -H -p PID (PID为进程id),查找出tomcat进程中占用CPU时间最长的线程id。
3.printf ‘%x\n’tid (tid为线程id),将线程id转换为16进制。
4.jstack PID > thread.txt,导出该进程的线程栈,用步骤3中的16进制线程id去找该线程在做什么,截图如下:
从线程栈中可以看出,是dwr导致的死锁问题,网上查了下,说是dwr官网的bug追踪中说到,dwr2.0版本之前会导致死锁这个bug,搜了下也没找到这个bug描述,不过换了高版本的dwr后,死锁问题得到解决。
评论
最近浏览
pt11100 LV9
2020年5月22日
2252536772 LV21
2019年9月10日
子不语103 LV7
2018年9月12日
weienqing LV17
2017年11月15日
nsq0006 LV6
2017年11月7日
w939952612 LV1
2016年10月11日
XZC1991 LV5
2016年7月11日
sp朱盼 LV16
2016年7月5日
xiaoshi LV9
2016年3月10日
网海情缘 LV11
2016年3月5日




