A 508 "Resource Limit Is Reached" or 503 "Service Unavailable" error means your hosting account has temporarily hit its CPU, memory, or process limit. Ultra Web Hosting runs CloudLinux, which isolates each account to prevent one site from affecting others on the server. When your account exceeds its allocated resources, CloudLinux throttles it and visitors see a 508 or 503 error. The good news: this is almost always fixable without upgrading your plan.
Site Down Right Now? Do This First
Resource limits are temporary. If your site is showing 508/503 right now:
- ✓ Wait 5-10 minutes - CloudLinux releases the throttle automatically once resource usage drops
- ✓ Check cPanel > Resource Usage to see what's spiking
- ✓ If it keeps happening, read on to find and fix the root cause
508 vs 503: What's the Difference?
On our servers, both mean the same thing: your account hit a resource limit. The 508 code is CloudLinux-specific ("Resource Limit Is Reached"), while 503 ("Service Temporarily Unavailable") is a standard HTTP code that appears when the web server can't spawn a new process for your request. The cause and fix are identical.
01. What Causes Resource Limit Errors
CloudLinux assigns each shared hosting account a set of resource limits:
- CPU - how much processor time your scripts can use
- Physical Memory (PMEM) - how much RAM your processes can consume
- Entry Processes (EP) - the number of simultaneous PHP processes your account can run
- Number of Processes (NPROC) - total processes including background tasks
- I/O - disk read/write speed allocated to your account
When any of these hit the limit, CloudLinux prevents new requests from being processed until usage drops. The result: visitors see 508 or 503 errors, and the site appears down even though the server itself is fine.
Resource limits protect all customers on the server. Without them, a single runaway script could slow down every site on the machine. The limits are generous for normal traffic, so hitting them usually indicates something specific that can be fixed.
02. Immediate Fix: Get Your Site Back Up
If your site is down right now with a 508/503:
- Wait 5-10 minutes - CloudLinux auto-releases the throttle once usage drops below limits. In most cases, the site comes back on its own
- Contact support to kill stuck processes - if the site doesn't recover on its own, open a ticket or use live chat. We can kill stuck PHP processes on your account from the server side, which immediately frees up your Entry Processes
- Disable the heaviest plugin - if you're running WordPress and this happens frequently, use cPanel > File Manager to rename the
pluginsfolder toplugins_disabled. This deactivates all plugins and usually brings the site back. Then rename it back and reactivate plugins one by one to find the culprit
If the error keeps coming back every few minutes, don't just keep waiting. Something is actively consuming your resources and it won't stop on its own. Read Sections 3-4 to find and fix the root cause.
03. Finding What's Using Your Resources
cPanel Resource Usage
Go to cPanel > Resource Usage (in the Metrics section). This shows graphs of your CPU, memory, Entry Processes, and I/O over the past 24 hours. Look for:
- Sustained high CPU - a script running continuously (stuck cron job, wp-cron loop, or a bot hammering your site)
- Entry Processes maxed out - too many simultaneous visitors or slow PHP scripts that don't finish quickly enough
- Memory spikes - a plugin or script loading too much data into memory
Error Logs
Check cPanel > Errors (in the Metrics section) for the most recent errors. These often point directly to the problematic script. Look for PHP fatal errors, out-of-memory errors, or segfaults happening right before the 508/503 started.
Access Logs
Check cPanel > Raw Access (in the Metrics section) or ~/access-logs/yourdomain.com. If you see thousands of requests from the same IP or user agent, you're being hit by a bot or crawler. If you see repeated requests to wp-cron.php or admin-ajax.php, that's a common WordPress resource hog.
04. Most Common Causes and Fixes
wp-cron.php Running on Every Page Load
WordPress fires wp-cron.php on every page request to check for scheduled tasks. On busy sites, this alone can max out Entry Processes. Fix: disable wp-cron and use a server cron job instead:
Add to wp-config.php:
define('DISABLE_WP_CRON', true);
Then set up a cron job in cPanel to run every 5 minutes. See our Cron Job Guide.
No Page Caching
Without caching, every page view executes PHP and queries the database. A page that takes 0.5 seconds of CPU per request only needs 20 simultaneous visitors to max out a shared hosting account. With caching, the server serves a static copy and the CPU cost drops to near zero.
Enable AccelerateWP in cPanel (see Section 5 below) for the fastest path to caching with Redis object cache included. See also our Website Speed Guide.
Heavy Plugins
Some WordPress plugins are notorious resource consumers: page builders running on every request, broken analytics plugins, chat widgets that poll constantly, and backup plugins running during peak hours. Identify the heaviest by deactivating all plugins and reactivating them one at a time while monitoring Resource Usage.
Bots and Crawlers
Search engine bots, SEO crawlers, AI scrapers, and malicious bots can generate hundreds of requests per minute. In our experience, abusive bots are the cause of resource limit errors almost as often as missing caching. Check your access logs (cPanel > Raw Access) for high-frequency user agents.
How to Block Bots
Option 1: Cloudflare (Recommended)
Cloudflare's free plan includes Bot Fight Mode, which blocks known bad bots before they even reach your server. Enable it in the Cloudflare dashboard under Security > Bots. Cloudflare also has a "Under Attack Mode" you can enable temporarily when you're actively being hammered.
Option 2: Block specific bots in .htaccess
If you can identify the abusive user agent in your access logs, block it directly:
RewriteEngine On
RewriteCond %{HTTP_USER_AGENT} (AhrefsBot|SemrushBot|MJ12bot|DotBot|BLEXBot) [NC]
RewriteRule .* - [F,L]
This blocks some of the most aggressive SEO crawlers. Add or remove user agents based on what you see in your logs. See our .htaccess guide for more patterns.
Option 3: robots.txt (polite bots only)
Well-behaved bots respect robots.txt, but malicious bots ignore it. Still worth adding for the polite ones:
User-agent: AhrefsBot
Disallow: /
User-agent: SemrushBot
Disallow: /
Don't block Googlebot, Bingbot, or other legitimate search engine crawlers, as this will remove your site from search results. If you're not sure whether a bot is legitimate, search for its user agent name before blocking it.
Outdated PHP Version
Older PHP versions (5.x, 7.0-7.2) use more CPU and memory per request than PHP 8.x. Upgrading PHP can reduce resource usage by 30-50% with zero other changes. See our PHP Version Guide.
Malware or Hacked Site
A compromised site often runs hidden processes (crypto miners, spam scripts, bot command-and-control). If you see unfamiliar processes or CPU usage that doesn't correlate with your traffic, your site may be hacked. See our Hacked Site Recovery Guide.
05. Add Caching to Reduce Load
Caching is the most effective way to prevent resource limit errors. Ultra Web Hosting includes AccelerateWP on all shared hosting plans, which handles both page caching and object caching with zero configuration.
AccelerateWP with Object Cache (Redis)
AccelerateWP is CloudLinux's built-in WordPress acceleration suite, available in your cPanel. It includes:
- ✓ Page caching - serves static HTML instead of running PHP on every request
- ✓ Object caching via Redis - caches database query results in memory, dramatically reducing database load
- ✓ One-click activation - no plugin installation or manual configuration required
Enable it in cPanel > AccelerateWP (in the Software section). For most WordPress sites, turning this on alone is enough to eliminate 508/503 errors.
The Caching Hierarchy
- AccelerateWP (page + object cache) - start here. One-click enable in cPanel. Handles both page caching and Redis object caching together
- CDN (Cloudflare) - add this on top of AccelerateWP. Caches static files (images, CSS, JS) on global edge servers, reducing server load for repeat visitors and international traffic. The free plan is fine. See our Cloudflare Setup Guide
- OPcache - caches compiled PHP bytecode. Enabled by default on our servers. No action needed
If AccelerateWP shows a conflict with an existing caching plugin (LiteSpeed Cache, WP Super Cache, etc.), you can use either one, just not both at the same time. AccelerateWP has the advantage of including Redis object caching out of the box, which most free caching plugins don't offer.
With AccelerateWP and Cloudflare combined, most sites see a 70-90% reduction in server resource usage.
06. Monitoring Your Resource Usage
Don't wait for errors to check your resources. Periodically review cPanel > Resource Usage to see trends. Things to watch for:
- Entry Processes consistently above 50% - your site is getting close to the limit during peak hours. Add caching or optimize slow scripts
- CPU spikes at regular intervals - probably a cron job or backup running at the wrong time. Move heavy tasks to off-peak hours
- Memory steadily climbing - a memory leak in a plugin or script. Investigate which process is growing
CloudLinux sends email notifications when your account approaches or hits resource limits. Make sure your contact email in the client area is current so you receive these alerts.
07. When to Consider Upgrading
If you've done everything above (caching, PHP upgrade, plugin cleanup, bot blocking) and still hit resource limits regularly, your site has outgrown shared hosting. Signs it's time:
- Your site gets consistent traffic above 50,000 visits/month
- You run WooCommerce with heavy catalog and checkout traffic
- You need background workers or long-running processes
- Entry Processes stay maxed even with caching enabled
A VPS gives you dedicated CPU, RAM, and no shared resource limits. See our hosting comparison guide to decide, or check our VPS and dedicated server plans.
Need Help With Resource Limits?
If you're stuck in a resource limit loop and can't identify the cause, open a ticket. We can check your server-side logs and processes to pinpoint what's consuming your resources.
Open a Support TicketQuick Recap: Fix Resource Limit Errors
If you only do 5 things from this guide, do these:
- Enable AccelerateWP - cPanel > AccelerateWP for page caching + Redis object cache in one click
- Disable wp-cron - use a server cron job instead (WordPress sites)
- Block abusive bots - use Cloudflare Bot Fight Mode or .htaccess rules
- Upgrade PHP to 8.x - uses 30-50% less CPU per request
- Check Resource Usage in cPanel - identify what's spiking before it becomes an outage
Last updated March 2026 · Browse all Troubleshooting articles
