1

After installing APC, see the apc.php script, the uptime restart every one or two hours? why? How can I change that?

I set apc.gc_ttl = 0

4

3 回答 3

1

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

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

于 2012-07-30T19:52:15.693 回答
1

如果您使用 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% 的空闲空间。定期检查。如果您没有足够的可用内存,请使用过滤器选项来防止缓存很少访问的文件。

检查我的答案 是什么导致PHP中的“无法为池分配内存”?

于 2012-08-29T14:18:00.743 回答
0

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

你需要去AccesWHM > Apache Configuration > Piped Log ConfigurationEnable Piped Apache Logs

于 2015-03-10T14:26:40.250 回答