Knowledge Base
MilesWeb / VPS FAQ

eAccelerator: Could not allocate xxx bytes, the maximum size the kernel allows is xxx bytes.

Approx. read time : 2 min

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.

Read:  How to install eAccelerator on linux cPanel server?

admin
With over 10+ years of experience in the web hosting industry, I have achieved extensive exposure to result-oriented methodologies. And expertise in different domains like Datacentre Services, Cloud computing technology, Web hosting industry and many more.