apcをインストールしたサーバで原因不明のエラーがログに記録されるようになった。
「require(): Unable to allocate memory for pool.」
思い当たる点がなく、試しにキャッシュを削除すると一時的にエラーは消えるが、またしばらくするとエラーが記録される。
しばらく放置しておいたら、OpenPNE3の機能が正しく動作しなくなった。
エラーログを見ると、同じエラーが表示されている。
調べてみるとapcのバグらしい。
http://pecl.php.net/bugs/bug.php?id=16966
このページ内のアドバイスどおり、/etc/php.d/apc.iniを修正した。
apc.mmap_file_mask=/tmp/apc.XXXXX
を
apc.mmap_file_mask=/dev/zero
へ変更するとエラーは表示されなくなった。