Bobcares

How to fix “508 Resource Limit Is Reached” error in CloudLinux + cPanel/WHM servers

by | Jul 5, 2018

Almost every webmaster starts hosting their website using a shared hosting account. It is a very cost effective method, but sharing resources with other customers can sometimes lead to slow site speed. Over the years, several methods were invented to ensure fair share of resources for everyone in a shared hosting server. One such method is resource usage limitation.

cPanel Support Specialists at Bobcares help online businesses maintain reliable web services. Performance optimization is an important part of our service, and it involves periodic tweaking server settings to avoid resource abuse.

Many server solutions like Apache, MySQL and CloudLinux have ways to limit resource usage of individual accounts in a shared hosting server. One commonly used resource limit is “Number of processes”.

So, how does “Number of processes” cut resource abuse? Let me explain.

Each visit to a website in a shared server is made possible through a “process” in the server. Each process in turn uses up server resources such as Memory, CPU, etc. adding to the server load. So, limiting the number of processes effectively limits the resource usage, and denies one single account a monopoly over server resources.

In CloudLinux servers, “Number of processes” limit is known as “Entry process limit” or “EP limit”. By default, CloudLinux sets this limit as “20”, so that no website can have more than 20 simultaneous visitors at the same time. For an average shared hosting website, this default limit is adequate. When a website tries to open an additional connection over this limit, the error “508 Resource Limit Is Reached” is displayed.

Website abuse is the most common reason for this error to be shown. Situations such as DoS attacks, massive comment spamming and brute-force hack attempts easily exhaust the “Entry Process limit” and show the site as inaccessible. So, it is important to find what is causing the resource limit error before this issue can be resolved.

We help shared hosting providers quickly resolve these errors by systematically tracing the root cause of the issue. Case in point, a support request was recently received at the helpdesk of a shared hosting provider we support. This web host used our cPanel support services to deliver 24/7 technical support. The support request reported that mydomain.com* was showing the error:

508 Resource Limit Is Reached browser error.

“508 Resource Limit Is Reached” as seen by a website visitor

This error meant that mydomain.com was exceeding the “Entry Process limit”. A quick check of the account’s resource allocation showed that “Entry Process limit” was set to 20.

The next step was to find out if the account was indeed using 20 processes. In the CloudLinux terminal, we checked the processes running under mydomain.com:

508 Resource Limit Is Reached process count

The website mydomain.com reached the Entry Process limit

There were 20 processes running under mydomain.com, which confirmed the resource limit had indeed been exhausted.

The process list also showed something very important – All the processes were requests to access “/home/mydomc/public_html/xmlrpc.php. “xmlrpc.php” is a file used by WordPress websites to track references of the website in other sites. It looked like another instance of the infamous WordPress xmlrpc pingback attack.

A quick look at the website access logs proved that this was indeed an xmlrpc attack. We then blocked the attacker IPs, and made the file xmlrpc.php inaccessible. This effectively put an end to the attack, and the site came back online.

 

Other causes for “508 Resource Limit Is Reached process count”

Website abuse is the most common reason for the error “508 Resource Limit Is Reached process count” in CloudLinux servers. Here are some of the common situations we’ve seen, and the resolutions to them:

 

Comment spamming

When spam bots finds an un-secured web form, massive simultaneous connections are opened to fill the website with spam advertisements. Since such comment spamming is automated, multiple simultaneous connections are opened from different IPs. This exhausts the “Entry Process limit” and renders the website inaccessible.

In such situations, we block the connecting IPs, and activate DNSBL (DNS-based blackhole list) in the web application firewall (such as mod_security). This will prevent any known spammer IP connecting to the server, and rescue the website from further downtime.

 

Brute force hack attempts

A popular way to hack into a website is to guess the right admin login details. This process is called brute forcing. Attack bots try various combinations of username and passwords at a very high rate from different IPs in order to get admin access. During such attacks, the “Entry Process limit” is easily exhausted.

Such attacks are characterized by a high number of connections to a single file, often lasting for only less than a second. In such cases, we enable DoS protection modules such as mod_evasive, and set the web server to blacklist IPs that show brute force signatures.

 

Valid increase in traffic

Some websites achieve a sudden increase of valid traffic, usually during a marketing campaign or during festive seasons. In such situations, the solution is to upgrade the “Entry Process limit”. In CloudLinux cPanel/WHM servers, it is modified by going to:

WHM Home  >>  Server Configuration  >>  CloudLinux LVE Manager  >>  Settings  >>   Edit  >>  Apply

 

Summary

Resource limit errors can happen due to a variety of reasons such as brute force attacks, comment spamming and traffic spike. Here we’ve covered a few common causes for such errors in cPanel-CloudLinux servers.

Here at Bobcares our Server Support Engineers help data centers and web hosts minimize service downtimes through 24/7 monitoring, proactive systems audits,  24/7 emergency administration.

 

 

PREVENT YOUR SERVER FROM CRASHING!

Never again lose customers to poor server speed! Let us help you.

Our server experts will monitor & maintain your server 24/7 so that it remains lightning fast and secure./p>

SEE SERVER ADMIN PLANS

var google_conversion_label = "Blp0CLCojHIQ0aD71QM";

4 Comments

  1. Jeff

    Hello,

    What command did you use in terminal to display currently running processes?

    There is a screenshot above that shows running processes

    Reply
    • Visakh

      Hey Jeff,

      That’s the output of top command.

      Reply
      • yotta

        Hi, It is very helpful can you please tell what is proper command you typed in putty to get the same output as shown in screenshot above
        “/home/mydomc/public_html/xmlrpc.php“. “xmlrpc.php”

        Reply
  2. dd@sudo.com

    Where i can donwnload wordpress profiler?

    Reply

Submit a Comment

Your email address will not be published. Required fields are marked *

Never again lose customers to poor
server speed! Let us help you.

Privacy Preference Center

Necessary

Necessary cookies help make a website usable by enabling basic functions like page navigation and access to secure areas of the website. The website cannot function properly without these cookies.

PHPSESSID - Preserves user session state across page requests.

gdpr[consent_types] - Used to store user consents.

gdpr[allowed_cookies] - Used to store user allowed cookies.

PHPSESSID, gdpr[consent_types], gdpr[allowed_cookies]
PHPSESSID
WHMCSpKDlPzh2chML

Statistics

Statistic cookies help website owners to understand how visitors interact with websites by collecting and reporting information anonymously.

_ga - Preserves user session state across page requests.

_gat - Used by Google Analytics to throttle request rate

_gid - Registers a unique ID that is used to generate statistical data on how you use the website.

smartlookCookie - Used to collect user device and location information of the site visitors to improve the websites User Experience.

_ga, _gat, _gid
_ga, _gat, _gid
smartlookCookie
_clck, _clsk, CLID, ANONCHK, MR, MUID, SM

Marketing

Marketing cookies are used to track visitors across websites. The intention is to display ads that are relevant and engaging for the individual user and thereby more valuable for publishers and third party advertisers.

IDE - Used by Google DoubleClick to register and report the website user's actions after viewing or clicking one of the advertiser's ads with the purpose of measuring the efficacy of an ad and to present targeted ads to the user.

test_cookie - Used to check if the user's browser supports cookies.

1P_JAR - Google cookie. These cookies are used to collect website statistics and track conversion rates.

NID - Registers a unique ID that identifies a returning user's device. The ID is used for serving ads that are most relevant to the user.

DV - Google ad personalisation

_reb2bgeo - The visitor's geographical location

_reb2bloaded - Whether or not the script loaded for the visitor

_reb2bref - The referring URL for the visit

_reb2bsessionID - The visitor's RB2B session ID

_reb2buid - The visitor's RB2B user ID

IDE, test_cookie, 1P_JAR, NID, DV, NID
IDE, test_cookie
1P_JAR, NID, DV
NID
hblid
_reb2bgeo, _reb2bloaded, _reb2bref, _reb2bsessionID, _reb2buid

Security

These are essential site cookies, used by the google reCAPTCHA. These cookies use an unique identifier to verify if a visitor is human or a bot.

SID, APISID, HSID, NID, PREF
SID, APISID, HSID, NID, PREF