您的位置:首页 > 运维架构 > Tomcat

解决:Linux下Java占用CPU突然升高,即使用空的tomcat也不会降低

2015-07-02 00:00 519 查看
摘要: 解决因为闰秒导致Linux下Java占用CPU突然升高

昨天,客户公司打电话给我,说系统不能用了,突然查不出来东西,一个美好的早上就破灭了。因为这个系统是很早以前做的,当时十分小白,没有一丁点的冗余字段,导致满屏幕都是Left Join,运行期间一直卡卡的。按照这个思路就先把sql优化了,把代码上传,重启,试了两次,发现可以查询出来。结果过了5分钟,客户又来电话:又坏了;

再仔细检查,发现同一条sql,在本机执行1到2秒,在服务器执行接近20秒,导致页面等待超时。直接在数据库执行,效果相同,因为我的pc虽然很牛叉,可还是打不过服务器,然后用top命令查看服务器状态,发现java的CPU占到200%,整个服务器的CPU达到100%。

一段属于废话,第二段属于问题表现,着急的客官从这里开始看

使用命令dmesg,找到一句 inserting second 23:59:60 UTC

如果有这句,很有可能就是闰秒导致的,需要关掉linux的是时间同步(我没有立刻打开,因为害怕。。,立刻打开应该也没事),命令为 service ntpd stop,不需要重启tomcat,再使用top命令查看,Java已经排不到第一页了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java Linux 闰秒 CPU升高