APC有时会重启

时间:2012-07-30 19:36:26

标签: php apc

安装APC后,请参阅apc.php脚本,每隔一两个小时重启正常运行时间?为什么? 我怎么能改变它?

我设置apc.gc_ttl = 0

3 个答案:

答案 0 :(得分:1)

APC在托管过程中缓存生命,可能是您的apache工作人员达到MaxConnectionsPerChild限制并且他们被杀死并重新生成用它清除缓存。这是一种防止泄漏过程的安全机制。

您可以尝试将您正在使用的选项设置为“无关紧要”值(通常为0)并使用简单的hello world php脚本和apachebench ab2 -n 10000 -c 10 http://localhost/hello.php运行测试设置(根据需要调整值,以查看工作者的pid是否正在发生变化。

答案 1 :(得分:0)

如果使用0的TTL,APC将在内存不足时清除所有缓存插槽。这就是每2小时追加一次。

永远不要将TTL设置为0

请阅读手册以了解如何使用TTL:http://www.php.net/manual/en/apc.configuration.php#ini.apc.ttl

使用http://pecl.php.net/get/APC中的apc.php,将其复制到您的网络服务器以检查内存使用情况。

你必须留出足够的内存,以便APC在运行几个小时后有20%的空闲时间。定期检查。 如果没有足够的可用内存,请使用filters选项以防止很少访问的文件被缓存。

检查我的答案 What is causing "Unable to allocate memory for pool" in PHP?

答案 2 :(得分:0)

我今天遇到了同样的问题,在这里找到了解决方案: http://www.itofy.com/linux/cpanel/apc-cache-reset-every-2-hours/

您需要转到AccesWHM > Apache Configuration > Piped Log ConfigurationEnable Piped Apache Logs