Php APCu配置-gc\U ttl=0?

Php APCu配置-gc\U ttl=0?,php,apcu,Php,Apcu,我正在一组繁忙的服务器上优化APCu配置。上周我们遇到了APC问题,PHP日志中出现了这些错误 apc_add():GC缓存项“…..”在GC列表上的时间为3601秒” 第55行/index.php中的严重性为2 我发现了这个,这让我考虑设置我们的gc\u ttl=0。当前值为gc\u ttl=3600 我的猜测是,缓存中的密钥已经过时,但没有完全删除,因此可以通过apc\u store调用进行重新分配。我不确定如何确定这个假设是否正确,有什么想法吗?设置gc\u ttl=0是否有助于释放插槽进

我正在一组繁忙的服务器上优化APCu配置。上周我们遇到了APC问题,PHP日志中出现了这些错误

apc_add():GC缓存项“…..”在GC列表上的时间为3601秒” 第55行/index.php中的严重性为2

我发现了这个,这让我考虑设置我们的
gc\u ttl=0
。当前值为
gc\u ttl=3600

我的猜测是,缓存中的密钥已经过时,但没有完全删除,因此可以通过
apc\u store
调用进行重新分配。我不确定如何确定这个假设是否正确,有什么想法吗?设置
gc\u ttl=0是否有助于释放插槽进行重新分配

我发现我们的内存使用情况图表很有趣

在饼图下面,它显示

免费:264.9兆字节(66.2%)

但是,饼图的绿色部分表示只有161.4 MB可用

我们当前的apcu配置

; Enable apcu extension module

extension=apcu.so
apc.enable_cli=1
apc.enabled=1
apc.mmap_file_mask=/tmp/apc.XXXXXX
apc.shm_size=400M
apc.ttl=7200
apc.entries_hint=28000

这意味着过时的值仍然被引用,并且此消息在很久以前已使用此PR从警告更改为调试


这意味着您必须使用旧的APC版本,最好升级。无论如何,您似乎可以忽略这些警告。

谢谢,这很有帮助。知道饼图中报告的可用内存和可用内存之间的差异可能来自哪里吗?似乎gc特性很好(我猜我们的代码取决于它)。感觉旧值实际上无法重新分配,但我不知道如何确定是否是这种情况。我仔细检查了APC文档,删除了我评论的最后一部分,因为事实并非如此。TTL仅对空闲条目计数。因此,最好询问APC开发人员这是如何实现的。很难说APC管理中的差异数,试着降低gc_ttl,看看会发生什么。我怀疑管理员没有更新以支持APC中的新更改。谢谢,我的支持。我在pecl dev上问过,管理报告中的差异可能来自哪里。太好了,让我知道他们说了什么。