CPU超负荷异常情况
问题
项目部署阶段,提交订单时总是出现cpu超负荷工作情况,导致机器卡死,订单提交失败。通过任务管理器可见下图所示:
通过任务管理器中进程信息(见下图)进行查看,可见正是由于项目运行的原因导致CPU超负荷工作。元凶究竟是谁?难道是因为输出的测试语句太多导致的,尝试减少测试输出语句。
追根溯源
经查,是在进行提交订单即执行3002交易时发生的错误。再次运行查看到底是那一步造成的,难道是操作数据表的缘故?用事实说话。如下图所示在执行到操作订单主表lm_bill时,程序便停止运行了,此时CPU已达到100%!
果然如此,执行到
SELECT * FROM lmapp.lm_addr where uid='U18353102068' AND addrid='1' limit 0,1000
Sql语句时,此刻在数据库中查询结果为空!而程序在一直处于等待状态!可见,自己的业务逻辑出现了严重漏洞!
捕获到以下错误:
java.sql.SQLException: Incorrect string value: '\xA2\x97\xE7\xB2\x92' for column 'medname' at row 1
擦,找了半天,原来是自己在网数据库中写数据时不知何时将特殊字符加进去了,以至于读表时出现了意想不到的异常。也是醉啦!
参考文献:
http://blog.csdn.net/wangchangshuai0010/article/details/12714575