[01-Jul-2012 10:50:49] PHP Warning: require_once(): Unable to allocate memory for pool. in /var/www/html/includes/admin.php on line 57
[18-Jul-2012 17:00:08] PHP Warning: include_once(): Unable to allocate memory for pool. in //var/www/html/includes/xmlrpc.php on line 55
[18-Jul-2012 17:00:40] PHP Warning: require(): Unable to allocate memory for pool. in /var/www/html/includes/geshi.php on line 2307
PHP: Require_once(): Unable To Allocate Memory For Pool Error and Solution
How do I fix these php warnings?
# vi /etc/php.d/apc.ini
Make sure the mktemp-style file_mask to pass to the mmap module is correct and valid one:
Next make sure the size of each shared memory segment, with M/G suffix is set correct as per your requirements. In my case it was set to 8M:
You need to adjust the number of seconds a cache entry is allowed to idle in a slot in case this cache entry slot is needed by another entry:
The number of seconds a user cache entry is allowed to idle in a slot in case this cache entry slot is needed by another entry:
The number of seconds that a cache entry may remain on the garbage-collection list.
Save and close the file. Make sure you adjust the values as per your requirements. Restart the Apache web server:
# service httpd restart
If you are using Lighttpd instead of Apache2, restart the Lighttpd web server:
# service lighttpd restart
# service nginx restart
# /usr/local/nginx/sbin/nginx -s reload
Tip: Find out your APC memory usage and hit ratio
You need to find out exact memory usage and hit ratio so that you can set apc.ttl and apc.shm_size as per your work load. Copy /usr/share/php-pecl-apc/apc.php to your /var/www/html directory (or DocumentRoot):
# cp /usr/share/php-pecl-apc/apc.php /var/www/html
Edit /var/www/html/apc.php and set the admin password :
Save and close the file. Fire a web-browser and type the url:
Fig.01: Apc Memory Status and Hit Ratio
From the above graph I’m getting 100.0% hit ratio and I’ve used almost all memory. I need to increase memory and reduce ttl value so that I will not get memory allocation error.