How to Fix the 508 Resource Limit Is Reached Error

· first published 2020 · canyonthemes

An Ultimate Guide To Fixing The 508 Error Code

Browsing the web you will meet many error messages, each with a number and a short phrase that hints at what went wrong. The 508 is one of the less common ones, and it is specific to a kind of hosting: it means the account your site runs under has used up the CPU, memory or process allowance the host gave it, so the server has stopped answering until usage drops. Visitors see a plain page reading “508 Resource Limit Is Reached”.

Unlike the 502 error, which is often transient, a 508 is telling you something structural: either the site is doing more work than it should, or the plan is too small for the site.

Last updated: 2026 for WordPress 6.8 and PHP 8.2+.

What Is A HTTP Error 508?

Most shared hosting runs CloudLinux, which wraps each account in a Lightweight Virtual Environment (LVE) with hard caps on CPU, physical memory, I/O, entry processes (concurrent requests) and total processes. When any cap is hit, the web server returns 508 for new requests instead of letting one account slow down the whole machine.

You can see which limit is being hit. In cPanel, open Resource Usage (sometimes under Metrics); it charts CPU, memory, entry processes and I/O over the past day and marks every fault. That chart is the single most useful diagnostic, because a spike in entry processes points to traffic or bots, a flat line at the CPU cap points to heavy code, and a memory wall points to a plugin or PHP setting.

Causes And Troubleshooting: How To Fix Resource Limit Is Reached

Hosts allocate resources by plan tier. A site that has grown past the tier it started on will hit 508s as a matter of course. Before paying, check whether the site is using its allowance efficiently, because a badly configured site on a large plan will just hit the new limit later. Beyond genuine traffic growth, the following causes account for most 508 errors.

Bad coding

Custom code in a theme or a functions file that runs an expensive query on every page load, calls an external API synchronously, or loops over the whole posts table will consume CPU out of proportion to the traffic it serves.

Fix: Install the Query Monitor plugin on a staging copy and load a few pages; it lists slow queries, duplicate queries and which plugin or theme file issued them. Cache results of expensive operations with the Transients API, narrow queries with posts_per_page and fields arguments, and move external calls to a scheduled task. Our post on WordPress performance covers the wider optimisation checklist.

Plugins

Plugins are code you did not write, and some are far heavier than their feature list suggests: related-posts plugins that scan the whole database, statistics plugins that write to the database on every visit, broken-link checkers, and security scanners set to run too often.

Fix: Deactivate all plugins, watch the Resource Usage chart for an hour, then reactivate them one at a time and watch again. When the load jumps, you have found it. Replace the plugin with a lighter alternative, reduce its schedule (a daily scan instead of hourly), or contact the developer with your findings. How to deactivate plugins safely, including when you are locked out, is in our plugin deactivation guide.

Website Traffic Spikes

Legitimate popularity also triggers 508s. A post that gets shared widely, a newsletter send, or a seasonal peak can push concurrent requests past the entry-process cap.

Fix: Make each request cheaper so the same allowance goes further. Page caching (WP Rocket, LiteSpeed Cache or your host’s built-in cache) serves stored HTML without touching PHP or the database. A CDN such as Cloudflare serves images, CSS and JavaScript from its own network, so those requests never reach your account at all. Together they typically let a shared plan absorb a spike that would otherwise take it down. If spikes are the new normal, upgrade the plan.

Backend Operations

Some work is heavy by nature: large imports and exports, image regeneration after a theme change, full backups, and WooCommerce order or stock syncs. WordPress also runs scheduled tasks through WP-Cron, which is triggered by visitor requests and can pile up behind one another on a busy site.

Fix: Schedule heavy jobs for your quietest hours and run them one at a time. Disable WP-Cron’s visitor trigger by adding define('DISABLE_WP_CRON', true); to wp-config.php and set a real server cron job in cPanel to call wp-cron.php every 15 minutes instead, which makes the load predictable. Consider a persistent object cache (Redis or Memcached, if your host offers it) to cut repeated database work.

Webcrawlers

Search engine crawlers are welcome, but they are not the only bots. SEO tool crawlers, AI training scrapers and unknown user agents can request thousands of pages an hour, and every uncached page costs CPU.

Fix: Check the access log or Cloudflare analytics for the top user agents. Googlebot adjusts its own rate to your server’s responses, and Google no longer offers a manual crawl-rate setting, so the lever there is a fast, cached site. For Bing, the Webmasters portal still lets you set crawl timing. For aggressive third-party bots, add Crawl-delay or Disallow rules to robots.txt for those that respect it, and block the rest at the firewall or with Cloudflare’s bot rules.

DoS Attacks

A flood of requests aimed at your login page, xmlrpc.php or the search form is a cheap way to exhaust a shared account, and malware planted on the site can generate load from the inside by sending spam or mining.

Fix: Put the site behind Cloudflare (the free plan includes DDoS mitigation and rate limiting) and enable “Under Attack” mode during an incident. Install one security plugin, Wordfence or Solid Security, to rate-limit logins, disable XML-RPC if nothing uses it, and scan for malware; our guide to scanning for hidden malware walks through cleanup. Under Settings > General, untick “Anyone can register” unless your site needs public registration, and give new users the lowest role that works.

Which Canyon theme fits

A theme that runs extra queries for sliders, related posts and view counters on every page spends CPU you are paying for. Ours ship without bundled builders or trackers and keep template queries to what the layout needs, which matters most on exactly the shared plans where 508s occur. Danfe is the lightest choice for a blog; the magazine category has options for higher-volume content sites.

Conclusion

Fixing a 508 is not as quick as reloading a page, but it is rarely mysterious. Read the resource usage chart to see which limit you are hitting, remove the waste (heavy plugins, uncached pages, runaway cron, bad bots), and then decide whether what remains justifies a bigger plan. If the chart makes no sense, ask your host; they can see the same data at a finer grain.

Further reading from our partners: this website.

FAQ

Is the 508 error the same as the 503 or 502 error?
No. A 502 means a gateway got a bad response from the server behind it, often a PHP crash or timeout. A 503 means the service is temporarily unavailable, for instance during maintenance. A 508 Resource Limit Is Reached is specific to hosting that caps each account’s CPU, memory and processes, and means your account has hit one of those caps.
Will upgrading my hosting plan fix the 508 error?
It raises the limits, so the error will stop for a while. If the underlying cause is a heavy plugin, uncached pages or bot traffic, the site will grow into the new limit and the error returns. Fix the waste first, then upgrade if genuine traffic still exceeds the plan.
Where can I see which resource limit my site is hitting?
In cPanel, open Resource Usage under Metrics. It charts CPU, memory, entry processes and I/O against your limits and marks each fault. Other control panels have an equivalent screen, and your host’s support can pull the same data if you cannot find it.