eAccelerator is a open-source PHP accelerator & optimizer. It increases the performance of PHP scripts by caching them in their compiled state, so that the overhead of compiling is eliminated. It helps to speed the execution of scripts. eAccelerator typically reduces server load and increases the speed of your PHP code by 1-10 times. eAccelerator stores compiled PHP scripts in shared memory and executes code directly from it. It creates locks only for a short time, while searching for a compiled PHP script in the cache, so one script can be executed simultaneously by several engines. Files that can’t fit in shared memory are cached on disk only.
When accessing any URL on your server, you might receive an error below.
eAccelerator: Could not allocate xxx bytes, the maximum size the kernel allows is xxx bytes. Lower the amount of memory request or increase the limit in /proc/sys/kernel/shmmax
The above error is due to eAccelerator compiled on the server. The installed eAccelerator version is incompatible with php. There are 2 steps you can follow to fix the error.
1. Increase memory in shmmax. Execute the commands below to increase memory.
# echo “67108864” > /proc/sys/kernel/shmmax
# sysctl -w kernel.shmmax=67108864
# sysctl -p
2. Uninstall the buggy/incompatible version of eAccelerator and compile a new stable version with php.
eAccelerator is installed on all our shared hosting & reseller hosting servers.