A solução é aumentar a memória alocada para o APC.
Usar um TTL de 0 significa que a APC liberará todo o cache quando ficar sem memória. O erro não aparece mais, mas torna a APC muito menos eficiente. É uma decisão sem risco, sem problemas, "não quero fazer o meu trabalho". APC não é para ser usado dessa maneira. Você deve escolher um TTL alto o suficiente para que as páginas mais acessadas não expirem. O melhor é dar memória suficiente para que o APC não precise esvaziar o cache.
Basta ler o manual para entender como o ttl é usado: link
Você pode aumentar a memória alocada aumentando o apc.shm_size.
Se a APC for compilada para usar a Memória Compartilhada do Segmento, você será limitado pelo seu sistema operacional. Digite este comando para ver seu limite de sistema para cada segmento:
sysctl -a | grep -E "shmall|shmmax"
Para alocar mais memória, você terá que aumentar o número de segmentos com o parâmetro apc.shm_segments.
Se o APC estiver usando memória mmap, você não terá limite. A quantidade de memória ainda é definida pela mesma opção apc.shm_size.
Se não houver memória suficiente no servidor, use a opção filters para impedir que arquivos php acessados com menos frequência sejam armazenados em cache.
Mas nunca use um TTL de 0.
Use apc.php para verificar sua configuração. Você verá o que realmente está alocado e como é usado. Os gráficos devem permanecer estáveis depois de horas, se eles estão mudando completamente a cada atualização, então isso significa que sua configuração está errada (APC está liberando tudo). Aloque 20% do que a APC realmente usa como margem de segurança e verifique-a regularmente.
O padrão de permitir apenas 32MB é ridiculamente baixo. O PHP foi projetado quando os servidores tinham 64MB e a maioria dos scripts usava um arquivo php por página. Hoje em dia, soluções como o Magento requerem mais de 10k arquivos (~ 60Mb no APC). Você deve permitir memória suficiente para que a maioria dos arquivos php sejam sempre armazenados em cache. Não é um desperdício, é mais eficiente manter o opcode em memória RAM em vez de ter o php bruto correspondente no cache de arquivos. Hoje em dia podemos encontrar servidores dedicados com 24Gb de memória por apenas US $ 150, então não hesite em permitir vários GB para APC. Eu coloquei 2GB de 24GB em um servidor que hospeda lojas 5Magento e site ~ 40 wordpress, APC usa 1,2GB. Conte 64MB para instalação do Magento, 20MB para um Wordpress com alguns plugins.