APC or Alternative PHP Cache (APC) is a free and open opcode cache for PHP. APC allows for caching of opcode generated during PHP script parsing and execution by the Zend engine. If you are using APC 3.1.9 and you are using the default configuration you might run into the error where most PHP requests will return a warning message “PHP Warning: Unknown: Unable to allocate memory for pool. in Unknown on line 0″
The error is that APC cache ran out of memory and a new cache item could not be inserted. The solution to the problem is to change APC configuration settings and decrease apc.ttl and increase apc.shm_size.
You can optimize these values in your php.ini file.
Example
apc.shm_size=300M
apc.mmap_file_mask=/dev/zero
If APC is compiled to use Shared Segment Memory you will be limited by your operating system. Type this command to see your system limit for each segment :
sysctl -a | grep -E “shmall|shmmax”
To alocate more memory you’ll have to increase the number of segments with the parameter apc.shm_segments.