centos 服务器php-fom ,mysqld,nginx等多个进程超过100%

此图是已经修复后截图,当时操作比较紧急没有截过图。

今天下午服务器需要重启 因为内存吃的比较紧而且快一年了没重启,博主就给重启啦
没想到重启后的半个小时后服务器就不行了,网站非常慢于是ssh用top查看主要是php-fom,mysqld,nginx等多个进程超过100%,这些进程只有在最高并发时才可能这样并且会释放和降低,当前是从不降低。这样就不正常了,过了几分钟后服务器的ssh挂了服务器网站随后也挂了

 因为以前叫机房硬重启出过系统损坏问题为了防止再现此景 立即开车去机房
 显示器连接后许久没有响应,无法登录系统操作
当时拍了张图:

半个小时后重启服务器登录立即停止相关可疑服务离开机房 回公司远程登录分析处理问题

于是在基本上没什么服务运行的情况 使用top-H和 iotop查看
最终总结以下问题:
fmsedge 9000%
fmsadmin 9400%
fmsmaster 1000%
ksoftirqd/6 500%
redis-server 300%
sftp-server 100%
sync_    200%
centosjbd2 300%
php-fom 100%
mysqld 100%
nginx100%
数据相当吓人于是先处理 前三个进程
fms 关闭它
1,进入FMS安装目录cd/opt/adobe/fms/2,关闭FMS服务./fmsmgrserverfmsstop--停止FMS./fmsmgradminserverstop--停止AdminServer
这样还是不行问题依旧
(疑似Redis导致的) 关闭 redis
进入目录后关闭  
停止Ngmysql 
还是不行 监控一段时间后发现 jbd2有些不正常于是开始了解
   jbd2是ext4文件系统的一部分 因此问题必定是系统层的 引发的系列问题

资料曾说 ext4文件系统出现过bug,bug原理大致是,文件的写和请求会导致其中一个int型的值不断增大,最后增大到超出了自身的范围——变成负值。就会触发该bug 

那么这就很有可能,服务器运行快一年了,一直没事重启就有事,那么只需要打这个补丁问题就可能被解决

http://blog.donghao.org/2013/03/20/%E4%BF%AE%E5%A4%8Dext4%E6%97%A5%E5%BF%97%EF%BC%88jbd2%EF%BC%89bug/  
参考此文 的修复日志但博主并非是照搬此文
当机立断马上运行
yumupdate
大约更新200多M执行完成后重启系统
top-H
然后得到 结果如图1所示
  终于问题被解决了。有惊无险折腾完毕!至此流量损失15%以上

随后查看下连接数:
netstat-n|awk'/^tcp/{++S[$NF]}END{for(ainS)printa,S[a]}'

当前在线数又有了 151
你也可以用简单的指令查询 当然包含结果有些不一样不会分开
netstat-nat|grepESTABLISHED|wc-l

做个记号,留个思路 希望草根某天搜索时刚好符合你的需求!!




来自为知笔记(Wiz)