Memory 服务器崩溃–内存问题?紧急php fpm重启不工作

Memory 服务器崩溃–内存问题?紧急php fpm重启不工作,memory,amazon-ec2,crash,php,Memory,Amazon Ec2,Crash,Php,经过数月的考验和磨难,我成功地让我的网站在亚马逊的一个实例上相对高效地运行。然而,不幸的是,有时服务器崩溃,这似乎是随机的。这些崩溃发生在web服务器运行数天后,通常发生在非高峰流量时段 web服务器当前位于一个c3.xlarge实例上,该实例包含7.5GB的Ram,我将pm.max_子项设置为60,php的内存限制设置为128M。通过Linux运行top命令时,apache进程的平均RES在80M范围内。我假设这个问题与内存使用有关,但我不能肯定。记忆似乎逐渐增强。当服务器崩溃时,我可以通过运

经过数月的考验和磨难,我成功地让我的网站在亚马逊的一个实例上相对高效地运行。然而,不幸的是,有时服务器崩溃,这似乎是随机的。这些崩溃发生在web服务器运行数天后,通常发生在非高峰流量时段

web服务器当前位于一个c3.xlarge实例上,该实例包含7.5GB的Ram,我将pm.max_子项设置为60,php的内存限制设置为128M。通过Linux运行top命令时,apache进程的平均RES在80M范围内。我假设这个问题与内存使用有关,但我不能肯定。记忆似乎逐渐增强。当服务器崩溃时,我可以通过运行php-fpm-restart轻松恢复它的活力,但这显然不是一个长期的解决方案

查看错误日志时,我发现:

[16-May-2014 12:35:26] NOTICE: child 10404 stopped for tracing
[16-May-2014 12:35:26] NOTICE: about to trace 10404
[16-May-2014 12:35:26] ERROR: failed to ptrace(PEEKDATA) pid 10404: Input/output error (5)
[16-May-2014 12:35:26] NOTICE: finished trace of 10404
[16-May-2014 12:35:26] NOTICE: child 10405 stopped for tracing
[16-May-2014 12:35:26] NOTICE: about to trace 10405
[16-May-2014 12:35:26] ERROR: failed to ptrace(PEEKDATA) pid 10405: Input/output error (5)
[16-May-2014 12:35:26] NOTICE: finished trace of 10405
还有

 [16-May-2014 12:35:33] WARNING: [pool www] child 9424 exited on signal 15 (SIGTERM) after 126.568819 seconds from start
 [16-May-2014 12:35:33] NOTICE: [pool www] child 10537 started
 [16-May-2014 12:35:33] WARNING: [pool www] child 10122 exited on signal 15 (SIGTERM) after 59.041135 seconds from start
 [16-May-2014 12:35:33] NOTICE: [pool www] child 10538 started
 [16-May-2014 12:35:33] WARNING: [pool www] child 8881 exited on signal 15 (SIGTERM) after 175.978531 seconds from start
 [16-May-2014 12:35:33] NOTICE: [pool www] child 10539 started
 [16-May-2014 12:35:33] WARNING: [pool www] child 7099 exited on signal 15 (SIGTERM) after 310.218902 seconds from start
 [16-May-2014 12:35:33] NOTICE: [pool www] child 10540 started
 [16-May-2014 12:35:33] WARNING: [pool www] child 6282 exited on signal 15 (SIGTERM) after 380.138489 seconds from start
虽然理想情况下我会找到问题的根源并纠正问题,但紧急变量听起来像是一个有效的解决方案,但它们似乎不会自动重置php fpm

emergency_restart_threshold = 3
emergency_restart_interval = 1m
process_control_timeout = 10s

关于记忆问题有什么想法吗?或者,当孩子带着信号15退出时,为什么这些紧急变量不会自动重新启动php fpm?是否可以在每日计时器上重新启动php fpm?

使用php fpm,php作为独立于apache的进程运行。在这种情况下,您不应该加载mod_php。不过,您似乎有一些东西锁定了php线程。这可能会提供一些见解:感谢您的回复。Mod_php被禁用,运行phpinfo时,服务器API为FPM/FastCGI。我启用了slowlog,但它似乎没有提供任何有用的功能。还有其他想法吗?