我在这台主机服务器上拥有root用户访问权限,这个虚拟机托pipe多个网站。 是一个Debian TurnKey虚拟服务器,使用Nginx和ISPConfig作为configuration前端。
我注意到了表演的下降,所以我做了一个顶级的-c和结果显示
9327 web7 20 0 304908 68748 46448 S 7.6 1.2 43:41.26 php-fpm: pool web7 7024 web7 20 0 305632 66556 43384 S 7.3 1.1 28:13.34 php-fpm: pool web7 7233 web7 20 0 305580 66712 43628 S 3.7 1.1 9:54.09 php-fpm: pool web7 10492 web7 20 0 305684 66856 43668 S 3.7 1.1 42:33.64 php-fpm: pool web7 16468 web7 20 0 305708 66812 43596 S 3.7 1.1 38:11.07 php-fpm: pool web7
虽然其他网站有时显示然后消失(正如他们应该这样做),但这个(Web7)不断地运行这些进程(甚至相同的PID),没有任何暂停。
该网站很小,并没有真正访问(假设每天有1-3个用户),并且是一个简单的PHP-FPM WordPress网站。
我使用strace来跟踪其中一个进程,发现它们不断地执行相同的循环( https://pastebin.com/gACuzNkQ < – 由于pastebin限制,它们只是lstat行的数千行)。
问题是我找不到哪个脚本正在执行循环,而且这很烦人,因为这是一个资源占用者(我的主机不是怪物,是一个低预算的)。
迄今为止已经做得如何:
试图改变php-fpm版本:没有结果
试图从php-fpm更改为HHVM:没有结果,在顶部-c现在HHVM用一个巨大的HHVM进程replacephp-fpm 4进程,相同的循环
试图重新启动:没有结果
更新:我也注意到,这个网站的access.log文件充满了中国ip GET请求(每秒很多)。 这可能是一个concause?
目标是什么:
检测哪个脚本正在执行循环AND / OR发现此循环的含义
任何帮助?