我有一台专用服务器,运行 debian 6、nginx 1.07、php 5.3(带有 php-fpm)和 percona mysql 5.1。
我最近刚刚设置了服务器,但只有 1 个站点在其上运行。
我遇到的问题是,虽然我设置了 10 个 php fastcgi 进程,但有一个 php5-cgi 进程占用了 100% 的 CPU,而其他 9 个进程几乎为 0%。此时,整个服务器都很慢,网站也很慢。
答案1
您可以尝试通过运行以下命令检查导致 CPU 占用高的确切脚本:
ps faxuewwww
这样使用 'e' ps 选项,它将打印出每个进程的环境变量,包括 php-cgi 进程。大多数情况下,环境变量中都有很多有用的信息,可以查看哪个脚本占用了 CPU。
答案2
php-cgi 卡在 100% 意味着请求卡住了(即:无限循环),也许您可以检查您的 error.log 以查找一些信息,之后当请求达到 max_execution_time 时将被终止。