All Valcato Hosting accounts are located on powerful servers shared between a number of customers. To ensure that one customer cannot use all the processor power and memory on the server needed by others, there is a generous upper limit. If all resources are used subsequent visitors will encounter a 508 Resource Limit Is Reached message. Once the processing or memory usage has been completed, then subsequent requests will be processed.

The Causes

The 508 error is generated by one of three things occurring on the server:

  • High Memory Usage - The amount of memory allocated to your cPanel account has already been used, meaning there isn't memory to execute the current request.
  • Entry Processes Exceeded - The number of entry processes allowed that can be run simultaneously on your cPanel account has already been used, meaning there isn't an available process to execute the current request. An Entry Processes represents a request to execute PHP/CGI a script. Each entry process takes a fraction of a second to complete. It is not the the number of visitors to your site (which can be much higher)
  • High I/O Usage - Disk Input and Output is the amount of data being read and written from the server's Sold State Hard Drives. Whenever a webpage is loaded or an email downloaded, your hosting account is carrying out an I/O operation. Intensive processes like creating backups can use more disk activity.

Reaching these limits could indicate a spike in traffic to your website; such as being featured on TV/Radio or suffering a Denial of Service attack. It can also be caused by unoptimised scripts/plugins or scripts which are notoriously resource intensive such as Magento or WooCommerce.

The Resource Usage page within cPanel contains graphical representations of the usage over time:

Investigating

Resource Usage

  1. Login to cPanel
  2. Click the Resource Usage icon:
  3. Resource Usage Icon
  4. If any limits were reached then a summary will be displayed
  5. Click the Snapshot tab
  6. Use the date and time selector to choose the time when the 508 error was encountered:
  7. Choose Snapshot Time
  8. A list of resources used at that time stamp is displayed. Examine the list to see which process is using resources:
  9. In the above example the following processes are occurring:
  • HTTP is using 118MB of memory serving webpages to visitors
  • CRON is using 2MB of memory running an automated process
  • WGET is using 2MB of memory running the automated process at example.com/wp-cron.php
  • PHP is using 96MB of memory processing webpages for visitors
  • A ZIP process using using 100% of CPU resources and 2MB of memory

The total memory usage of 220MB is well below the generous allocation for each Valcato shared hosting account.

The cause of the problem here is the ZIP process using 100% of the available CPU resources.

Tip: Hover your mouse over long entries to see the full details:

 

Website Flooding (DDoS Attacks)

In the event of a bot flooding your website in an attempt to make it unavailable, the Resource Usage page may show several pages of HTTPD and PHP processes:

To identify the file being targeted:

    1. Navigate to the Raw Access page within cPanel:
    2.  
      • If the flood is currently in progress, choose the log file under the Download Current Raw Access Logs heading
      • If the flood happened a few hours ago, choose the log file under the Archived Raw Logs heading
    3. Download the log file to your computer and open in your preferred text editor
    4. Search through the log file for the timestamps corresponding to the time of the usage:
123.56.41.15 - - [06/Jun/2020:17:15:34 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:35 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:36 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:38 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:40 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:42 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:43 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:45 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:46 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:47 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:49 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:50 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:53 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:55 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:56 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
123.56.41.15 - - [06/Jun/2020:17:15:58 +0100] "POST /xmlrpc.php HTTP/1.1" 200 403 "-" "Apache-HttpClient/4.5.2 (Java/1.8.0_161)"
...

The above example shows numerous requests from the same IP address (123.56.41.15) to load the xmlrpc.php file in less than 30 seconds.

This is indicative of a DDoS attack taking place against your website.

The Solutions

Wait

If a resource intensive task is intentionally being performed, then all that's required to to allow some more time. Once the process has completed, normal service will be resumed.

In the above example, CPU usage will reduce once the zip process has completed, allowing visitors to access your site once again.

Remove Poorly Scripted Code or Plugins

The data may reveal a particular file is consistently using a lot of resources across multiple snapshots.

Examine the code in question to look for logic loops or other optimisations to increase efficiency.

Optimise Scripts

There may be settings within scripts on your website to reduce the amount of memory, CPU or PHP requests used to services each page. Typically these options might be referred to a "Caching" settings.

For detailed steps optimising Wordpress check our Optimising Wordpress & Reducing Usage guide.

 

Now you have an understanding of the causes of 508 Resource Limit Is Reached messages, the tools available to identify the causes, and tips for mitigating them.

If you have any further questions about this error on your Valcato Hosting account, please don't hesitate to create a support ticket.

Was this answer helpful? 1 Users Found This Useful (1 Votes)