以前就知道timer进程长久运行容易出问题,因此一直对timer进行了很长一段时间的日志监控和数据库记录,大概观察了几个月,没发现过问题。。。。而后就没管理了,数据库记录也没作了,昨天这问题就来了,timer是写在单利模式里面的,最近app要增长功能,重要的代码又须要写到单例的timer进程里, 嗯快速的搞好,本地测试彻底没问题,上传,而后昨天心情畅快的跑出去耍了,回来就发现问题了,数据库里面须要自动处理的数据没处理, 而后又增长日志,数据库记录,发现个问题,日志不正常了,没有按照我timer设置的时间有规律的执行任务, 这部分代码但是我以前观察了几个月的,运行到这个服务器上没问题,本地运行没问题,为何出现这状况了, 而后还原到以前的备份看看,发现也有这个问题, 而后看看 java进程的cup占用有点高60%左右,之前最多百分之30%,刚才那混乱的执行间隔时间日志,大概问题就在这里了,我以为应该是这样在timer运行时 偶尔也许timer的进程被copy了一个,这样他的进程就会愈来愈多,cup占用天然增大了。 而后发了个工单给客服,没解决问题,网上找了一个方法是解决了。java
找客户以前其余方法尝试了不少没效果,个人系统是centos6.5数据库
解决方法:升级centos 内核,重启centos
yum install kernel -y
服务器