我正在一组繁忙的服务器上优化APCu配置。上周,我们遇到了APC的问题,PHP日志中出现了这些错误
apc_add():GC缓存条目‘.:’在第55行/./index.php中严重程度为2的gc-list上出现了3601秒
我找到了这个related SO thread,它让我考虑设置我们的gc_ttl = 0。当前的值是gc_ttl = 3600。
我的猜测是,缓存中有过时的密钥,但没有被完全删除,因此可以通过apc_store调用重新分配。我不知道如何确定这个假设是否正确,有什么想法吗?设置gc_ttl = 0是否有助于释放用于重新分配的插槽?
我觉得我们的内存使用图很有趣。

在饼图下面写着
免费: 264.9 MBytes (66.2%)
然而,饼图的绿色部分表示只有161.4 MBytes可用。
我们目前的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发布于 2016-01-11 16:05:44
这意味着过时的值仍然被引用,这条消息从警告改为调试很久以前的https://github.com/krakjoe/apcu/pull/45/files和这个PR https://github.com/krakjoe/apcu/pull/45。
这意味着你必须在旧的装甲运兵车版本,这是最好的升级。不管怎样,你似乎可以忽略这些警告。
https://stackoverflow.com/questions/34725669
复制相似问题