Skip to content
Web Hosting

How to Fix the 508 Resource Limit Is Reached Error on cPanel

In this article12 sections

The “508 Resource Limit Is Reached” error means your hosting account used up its share of the server for a moment, and the server refused new requests until usage dropped. To fix it, open Resource Usage in cPanel, see which limit was hit, find what was using it (usually a heavy plugin, bot traffic, a backup or a scheduled task), and reduce that load. Most cases can be solved from cPanel without coding, and the fix lasts because you remove the cause instead of waiting for the error to pass.

This guide is written for cPanel shared hosting on CloudLinux and LiteSpeed servers, which is what SiteHarbour uses. If your site is slow but not showing errors, start with 5 checks to run on a slow WordPress site. For general speed improvements, see speeding up WordPress in 5 easy steps.

What the 508 error means

Shared hosting puts many accounts on one server. To keep one site from slowing down all the others, each account gets a set of limits for CPU time, memory, the number of processes and disk activity. On CloudLinux servers this is handled by a system called LVE. When your account reaches one of its limits, the server holds back or rejects further requests, and visitors see the 508 message or a similar “resource limit” page.

This is a protection and not a fault. It also tells you something useful, because the site did not break by itself. Something used more than your plan allows at that moment. Your job is to find out what.

Note. The exact limits depend on your hosting plan, and some servers word the message slightly differently. The steps below work either way, because they use the Resource Usage screen to show you what actually happened.

Step 1: Open Resource Usage and find the limit you hit

  1. Log in to cPanel and open Resource Usage under Metrics. If you cannot find it, use the search box at the top of cPanel.
  2. Look at the current usage, then open the detailed view for the time range when the error appeared. Choose the last day first, and widen it if you are not sure when it happened.
  3. Check each graph: CPU, memory, entry processes, number of processes, and input and output. Look for one that reaches its limit line.
  4. Check the Faults count and the time of each fault. A fault is a moment when a limit was reached.

Write down the limit that was hit and the time of the faults. These two facts decide which fix to try first, and support can use them if you need help.

Step 2: Match the limit to the likely cause

Each limit usually points to a different kind of problem:

  • CPU: PHP is working too hard. Typical causes are a heavy plugin, an uncached page that many visitors request at once, or a script stuck in a loop.
  • Memory: something needs more RAM than your account has. Page builders, backup plugins and image tools are the usual suspects.
  • Entry processes: too many visitors or bots are connecting at the same moment. This is common with bot traffic, login attacks and traffic spikes.
  • Number of processes: many background tasks are running together, for example several backups or imports.
  • Input and output: heavy disk activity, often from backups, large imports or media processing.

Step 3: Look for unwanted traffic

If entry processes or CPU spiked, check who was visiting. In cPanel, open Visitors or Raw Access under Metrics and look at the requests around the time of the faults.

  • Many requests to /wp-login.php or /xmlrpc.php from the same address mean a login attack. These use resources even though nobody sees them.
  • One address requesting thousands of pages is usually a crawler or a scraper.

To block a repeated address, open IP Blocker under Security, enter the address and click Add. If the requests come from many different addresses, blocking them one by one will not keep up, so contact support and ask about bot protection for your account.

Warning. Only block an address once you are sure it is not yours, a search engine or a service you use. Blocking the wrong address can lock out real visitors or your own team.

Step 4: Find a plugin that uses too much

If the traffic looks normal but CPU or memory is still high, a plugin is the next suspect. Make a backup in Backup Wizard first, then follow this approach:

  1. In WordPress, go to Plugins and deactivate all non-essential plugins at a quiet time.
  2. Reactivate them one at a time, checking Resource Usage and your site after each one.
  3. When usage jumps sharply after one plugin, you have found the heavy one. Update it, replace it with a lighter alternative or remove it.

Plugins that run work in the background are common causes. These include backup plugins, security scanners, related-post widgets, statistics plugins and page-builder add-ons. If a plugin has a setting for how often it runs, lower the frequency.

Step 5: Move scheduled tasks to a quieter time

WordPress has its own task scheduler, called WP-Cron. By default it runs when a visitor opens a page, which means tasks can start at busy moments and on every page load. A better setup is to turn that off and run the tasks from a cPanel cron job at a fixed interval.

  1. In File Manager, copy wp-config.php to wp-config-backup.php, then edit the original.
  2. Paste this line above the comment that says That’s all, stop editing, then save:
define( 'DISABLE_WP_CRON', true );
  1. In cPanel, open Cron Jobs under Advanced. Choose Once Per Fifteen Minutes from the common settings, and paste the command below. Replace example.com with your domain.
curl -s https://example.com/wp-cron.php?doing_wp_cron > /dev/null 2>&1

Tip. Also check the schedule of your backup plugin. A full backup running during your busiest hour is a common cause of faults. Move it to the middle of the night.

If you are not comfortable with this step, you can skip it. The other steps solve most cases.

Step 6: Reduce the work PHP has to do

Once the cause is found, make each page cheaper to produce. A page cache saves finished pages, so a busy moment does not mean hundreds of PHP runs. The simplest route on LiteSpeed servers is the free LiteSpeed Cache plugin, explained in our 5-step speed guide. Also update your PHP version in MultiPHP Manager, shrink large images, and delete plugins you do not use. Each of these lowers the load, so your account stays further away from its limits.

Step 7: Check that the fix worked

Return to Resource Usage after a day of normal traffic. The graphs should stay well below their limit lines and the Faults count should stay at zero. If one graph still touches its limit at predictable times, compare those times with your scheduled tasks and your traffic to find what is left.

When to contact support

Contact support if the faults continue after you have removed heavy plugins and blocked the unwanted traffic, or if you cannot tell what caused them. Send them three things: the limit that was hit, the dates and times of the faults from Resource Usage, and what you have already tried. With that, they can check the server logs for your account and tell you what was running.

When the plan is too small

Sometimes the cause is simple growth. A site that has gained traffic, a shop with many products or several sites on one account can use more than a basic plan allows, even when everything is set up well. If the faults appear during normal traffic and the steps above did not remove them, the plan is the limit. You can compare options on our shared hosting page, and our team can help you work out whether you need more resources or a different setup.

Common mistakes to avoid

  • Waiting for the error to go away. It usually comes back at the same moment. Find the cause instead.
  • Installing more plugins to fix it. Each plugin adds load. Remove before you add.
  • Blocking addresses without checking them. Make sure an address is not a search engine, a monitoring service or your own connection.
  • Running backups at peak time. Schedule them for the quietest hours.
  • Ignoring the Faults count. It is the most direct record of when your limits were reached.
  • Editing files without a copy. Copy wp-config.php before you change it, so you can restore it if something goes wrong.

Related guides: hosting multiple websites on one VPS with Nginx and auditing a new Ubuntu VPS for security.

The handler and PHP version decide how much of the account’s share each request uses, so check them first. Compare the options in how to choose the right PHP version and handler in cPanel. If the site keeps outgrowing a shared account, see when to move WordPress from shared hosting to a VPS.

Frequently asked questions

Is the 508 error permanent?

No. It lasts only while your account is over a limit. Visitors can load the site again when usage drops, which is why the error often seems to come and go.

Does the error mean my site was hacked?

Not necessarily. It means a limit was reached, and the cause is usually a plugin, a traffic spike or a scheduled task. If you also see unknown files, new admin users or strange redirects, contact support right away.

Can I raise my limits myself?

Limits are set by your plan. If you regularly reach them after tuning, a larger plan is the real fix.

Why does the error happen only at certain times?

Time patterns usually point to scheduled tasks, backups or bot traffic. Match the fault times in Resource Usage with your backup schedule and your access logs.

Will a cache plugin stop the error?

It often helps a lot, because cached pages need far less PHP work. It does not fix a heavy plugin or an attack, so find the cause as well.

The short version: open Resource Usage, see which limit was reached and when, check your traffic, find a heavy plugin, move scheduled tasks to quiet hours, add a cache, and upgrade only if the limits are still too tight.

Share this guide