首页 > 代码库 > 一次linux服务器load高达600多的异常处理过程

一次linux服务器load高达600多的异常处理过程

#一次服务器load值狂飙的处理过程以及思路 处理时间:2016_11_22:17:00 


#收到报警78服务器load值报警,登录机器uptime查看load值

技术分享

#load值超高,第一反应top一下,想找出来是哪个程序消耗了大量的cpu

技术分享

#没有发现,接着就是vmstat查看正常,iostat,free -m,一切正常,有几个操作未截图

技术分享

#当这一切都正常的时候人有点懵逼,甚至都准备去看看源码uptime 的load值是怎么计算出来的

然而找到了代码块并看不懂,继续查看问题,执行了netstat查看到有syn_recv这就证明有服务建立

连接失败,于是找到这个程序,然后netstat -tnlp|grep 看了一下。技术分享

#开始怀疑这个java程序有问题,于是查看日志,当天是11月22号,而程序日志在11月20号5点32分就停了,于是确定程序问题。

技术分享

#执行重启tomcat命令,这个就不用讲了,进入bin目录shutdown.sh 发现进程没了之后startup.sh

然后等了几分钟load就降下来了

技术分享


纪录一下处理故障的思路和经历,说起来比较轻松,但是实际还是花了一定的时间,在执行netstat之前毫无思路,卡了一段时间,都准备翻阅源码,比较尴尬,而且也没找到更深层次的原因。



本文出自 “xiaofanqie” 博客,请务必保留此出处http://xiaofanqie.blog.51cto.com/9400142/1875514

一次linux服务器load高达600多的异常处理过程