非常高的平均负载导致服务器滞后

我们有一个CentOS 6.9服务器,有4个核心CPU和32GB RAM。

每天大概在同一时间,当我们终于必须重新启动服务器时,负载平均值从0.0逐渐变化到11

CPU :有时会尖峰,当像垃圾邮件,fail2ban这样的进程需要几秒钟的时间做些事情。 否则是1%左右。 一时之间php也占用了50%以上的CPU。 大部分时间空闲至less70%。

I/O :没有太多的I / O操作,但有时mysqld占用I / O的99.5%

RAM :始终在可接受的范围内。

Bandwidth :在此期间没有太多的变化。 可接受的范围。

Disk Space :超过1TB的可用空间。

AV :冉clamd等工具,在wordpress安装中find了一些。 现在删除。

即使情况不佳,负载平均值不断增加,服务器变得太慢,我们不得不重新启动。 然后事情变得正常。

这不是一个cronjob问题,因为我也想过,因为有规律的例程,它必须是cron。 所以我使用了service crond stop并在延迟开始之前停止了几个小时。 滞后仍然发生。

在高负载平均时间内有很多进程正在运行。 有些是:多个mysqld../bin/suexec 501 501 php5 /bin/php ../bin/suexec 501 501 php5/bin/php/fail2ban进程

我还从服务器收到许多邮件,说明System Load Alert 1 for mysite.com

因为它经常发生在同一时间,硬件问题似乎不是原因。

我的问题是,我还能检查什么来解决这个问题? 我把所有的筹码都投注在cronjob上。

更新1:交换空间:使用sar -W -f /var/log/sa/sa15所有值都是0使用free -h got

  total used free shared buffers cached Mem: 16G 2.9G 13G 18M 0B 1.4G -/+ buffers/cache: 1.4G 14G Swap: 0B 0B 0B 

所以看起来没有任何交换空间,但是有了这么多的空闲RAM,我怀疑我们真的需要它。

更新2:使用iotop写入/读取速度进行检查,达到250 KB /秒,这是几秒钟。

使用iotop -aoP时的慢度I / O操作结果:

  Total DISK READ: 0.00 B/s | Total DISK WRITE: 0.00 B/s PID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 1508 be/4 root 7.88 M 24.00 K 0.00 % 1.32 % perl -T -w /usr/local/cpanel/3rdparty/bin/spamd --max-spare=1 --~llowed-ips=127.0.0.1,::1 --pidfile=/var/run/spamd.pid --listen=5 9288 be/4 root 248.00 K 16.00 K 0.00 % 2.42 % tailwatchd - chkservd - spamd check 1714 be/4 root 0.00 B 4.00 K 0.00 % 0.24 % queueprocd - wait to process a task 5610 be/4 root 8.00 K 152.00 K 0.00 % 0.03 % tailwatchd 1446 be/4 mysql 8.79 M 256.00 K 0.00 % 0.02 % mysqld --basedir=/usr --datadir=/var/lib/mysql --plugin-dir=/usr~0 --pid-file=/var/lib/mysql/.. 

find /proc/*/task/. -name stat -exec grep ' D ' {} \; find /proc/*/task/. -name stat -exec grep ' D ' {} \; 有时是不相干的,有时是不同的过程。 我会发布的时候,平均负载真的很高,18:

 1585 (fail2ban-server) D 1 1575 1575 0 -1 16943 (cpsrvd (SSL) - ) D 1 16943 16942 0 -1 17221 (tailwatchd) D 1 17220 17220 0 -1 17255 (nginx) D 17253 17253 17253 0 -1 18102 (mysqld) D 17491 17479 12176 3482 0 -1 18355 (mysqld) D 17491 17479 12176 3482 0 -1 18099 (httpd) D 18087 18087 18087 0 -1 18127 (httpd) D 18087 18087 18087 0 -1 18312 (exim) D 1 17295 17295 0 -1 18375 (php) D 18096 18087 18087 0 -1 18379 (exim) D 18368 18368 18368 0 -1 18408 (find) D 18144 18107 18107 0 -1 18410 (suexec) D 18095 18087 18087 0 -1 

在我的情况下,服务器之前有恶意文件。 也许caching副本仍然存在。

清除网站和服务器caching解决了这个问题。