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

我们有高stream量的网站服务器。 最近我们搬走了

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

2个4核心服务器(16个核心在/ proc / cpuinfo中),32 GB RAM,运行CentOS 6.3

运行nginx作为代理的服务器,mysql服务器和sphinx-search。

stream量很高,但是mysql和sphinx-search数据库相对较小,而且通常情况下所有的工作都非常快。

今天,服务器的负载平均值为100 ++。 看上面和sar,我们注意到(%sys)是非常高的 – 50到70%。 磁盘利用率不到1%。 我们尝试重新启动,但重新启动后存在问题。 在任何时候,服务器至less有3-4 GB的可用内存。

只有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 

我们知道这是交通问题,但是我们不知道如何着手未来以及在哪里检查解决scheme。

有没有一种方法可以find那些“66.38%”的确切位置。

任何build议,将不胜感激。


更新:今天的平均负载为“正常”,“sys%”也可以〜4%。 但是今天的交通比昨天less了20-30%。 这让我想到昨天的问题是因为TCP的一些内核设置。

我将从EPEL仓库安装。 Atop应该帮助你显示诊断是什么导致%sys活动。

Atop还有一个atop -rfunction,可以让你使用t / T键在日志中向后和向后步进。

还要看看/ proc / interrupts和/ var / log / httpd / logs,并通过ipsorting,看是否有任何可疑的IP导致exception数量的httpdstream量。

我会cron猫/ proc /中断到一个日志文件。 在interupts中寻找高三angular洲。