If you're a web hosting customer experiencing a PHP Fatal error message that reads, "Uncaught RedisException: OOM command not allowed when used memory > 'maxmemory'", you're not alone. This error can be a bit confusing, especially when you're not familiar with the underlying technologies. In this article, we'll break down what this error means and why it occurs in the context of Brixly's hosting services.
The PHP Fatal Error Explained
The PHP Fatal error you're encountering is related to Redis, a popular in-memory data store that provides lightning-fast data retrieval. The error message, "OOM command not allowed when used memory > 'maxmemory'", translates to "Out Of Memory." In simpler terms, it means that the Redis instance running on your hosting account has exceeded its allocated memory limit.
Redis and Its Importance
Redis is a critical component of modern web applications and websites. It's used for caching data, session management, and more, significantly improving the performance and responsiveness of your website. Redis stores data in RAM, which is incredibly fast but also volatile.
LVE Limits vs. Redis Memory Limits
At Brixly, we provide LVE (Lightweight Virtual Environment) limits to each hosting account, which include memory limits. However, it's essential to understand that Redis instances have their own memory limits, defined at the server level. The default memory limit for a Redis instance on our hosting plans is 32MB.
The reason for this separation between LVE memory limits and Redis memory limits is the nature of Redis itself. Redis is designed to be highly performant, and it stores data in RAM for faster access. This makes it more persistent than other processes like PHP, which can be easily restarted without significant consequences. Redis, on the other hand, could lose important cached data if it runs out of memory.
Why Redis Memory Limits Can't Be Increased on Request
You may wonder why we can't increase the Redis memory limit on request. While it might seem like a straightforward solution, it's essential to balance performance and stability.
Increasing the Redis memory limit can lead to increased memory usage across the server, potentially affecting the overall stability of all hosted accounts. This is especially important on shared hosting environments where multiple users share the same resources. Therefore, we've set the Redis memory limits conservatively to ensure optimal performance and stability for all our customers.
Redis Memory Limits on Premium Hosting Plans
If you require more memory for your Redis instance, we offer higher memory limits on our Premium Hosting plans:
- Premium Business: 256MB
- Premium Enterprise: 512MB
- Premium Agency: 1024MB
- Premium Reseller: 512MB per cPanel user
These higher memory limits allow you to allocate more memory to your Redis instance for increased caching and performance. If a larger Redis instance is required for your website than the above, then the next option would be to consider one of our managed Cloud Servers, or a Dedicated Server for the site.
In summary, the PHP Fatal error "OOM command not allowed when used memory > 'maxmemory'" indicates that your Redis instance has exceeded its memory limit. While LVE limits apply to your hosting account, Redis has its own memory limits for stability and performance reasons. These limits are set conservatively but can be increased on our Premium Hosting plans to accommodate your specific needs.
If you encounter this error and believe you need a higher Redis memory limit, consider upgrading to one of our Premium Hosting plans or reaching out to our support team for further assistance. We're here to help you optimize your hosting environment for the best possible performance and reliability.