linux – 由于高系统CPU负载(%sys)导致的高负载平均值

我们有高流量网站的服务器.
最近我们搬了

2 x 4核心服务器(/ proc / cpuinfo中的8个核心),32 GB RAM,运行CentOS 5.x,到

2 x 4核心服务器(/ proc / cpuinfo中有16个核心),运行CentOS 6.3

服务器运行Nginx作为代理,mysql服务器和sphinx-search.

流量很高,但是MysqL和sphinx-search数据库相对较小,通常一切都很快.

今天服务器的负载平均值为100.看着top和sar,我们注意到(%sys)非常高–50%到70%.磁盘利用率低于1%.我们尝试重新启动,但重启后问题仍然存在.
在任何时候服务器至少有3-4 GB的可用RAM.

只有dmesg显示的消息是“端口80上可能发生SYN泛滥.发送cookie.”.

这是sar的片段

11:00:01        cpu     %user     %nice   %system   %iowait    %steal     %idle
11:10:01        all     21.60      0.00     66.38      0.03      0.00     11.99

我们知道这是流量问题,但我们不知道如何继续未来以及在哪里检查解决方案.

有没有办法可以找到使用“66.38%”的确切位置.

任何建议,将不胜感激.

更新:
今天的负载平均值是“正常”,“sys%”也可以正常~4%.
然而今天的流量比昨天少了20-30%.
这让我觉得昨天的问题是因为TCP的一些内核设置.

解决方法

我会从EPEL存储库安装atop. Atop应该帮助您显示诊断导致%sys活动的原因.

Atop还具有atop -r功能,允许您使用t / T键及时向后和向前遍历日志.

还要查看/ proc / interrupts并通过/ var / log / httpd / logs按ip排序,看看是否有任何可疑的IP导致httpd流量异常.

我会把一个cat / proc / interrupts写入日志文件.在中断中寻找高增量.

相关文章

在Linux上编写运行C语言程序,经常会遇到程序崩溃、卡死等异...
git使用小结很多人可能和我一样,起初对git是一无所知的。我...
1. 操作系统环境、安装包准备 宿主机:Max OSX 10.10.5 虚拟...
因为业务系统需求,需要对web服务作nginx代理,在不断的尝试...
Linux模块机制浅析 Linux允许用户通过插入模块,实现干预内核...
一、Hadoop HA的Web页面访问 Hadoop开启HA后,会同时存在两个...