How do CloudLinux reseller limits work?

CloudLinux 8 min read

Our reseller cPanel hosting runs on the CloudLinux operating system, and each reseller plan comes with reseller limits. This is a two-tier resource limitation: we determine the total amount of CPU, memory and concurrent connections that the reseller account may use, whilst you allocate this quota amongst your customers’ cPanel accounts yourself via WHM.

If you are not yet familiar with how reseller hosting works, you should first read the article on cPanel Reseller Hosting. The general meanings of the individual limits (SPEED, PMEM, IO, IOPS, EP, NPROC) are explained in the article on CloudLinux resource limits.

Resource limits for reseller packages

FeatureReseller StartReseller MediumReseller PremiumReseller ProReseller UltraReseller Max
cPanel sub-accounts1020305070100
vCPU200%300%400%500%800%1200%
RAM4 GB6 GB8 GB12 GB20 GB40 GB
IO∞ Unlimited∞ Unlimited∞ Unlimited∞ Unlimited∞ Unlimited∞ Unlimited
IOPS∞ Unlimited∞ Unlimited∞ Unlimited∞ Unlimited∞ Unlimited∞ Unlimited
Active connections1002003005007001000
  • The quota applies collectively to all cPanel accounts within the reseller account, including the reseller’s own cPanel account with the same username.
  • 100% vCPU corresponds to one full processor core, whilst 200% corresponds to two.
  • The number of processes (NPROC) is not limited in any package.

The meanings of these values are the same as those described for the resource limits of cPanel hosting plans: vCPU refers to CloudLinux SPEED, RAM refers to PMEM, and the number of active connections refers to the EP (Entry Processes) limit.

How does the two-tier restriction work?

CloudLinux isolates each cPanel account into a separate LVE (Lightweight Virtual Environment). If the reseller limit is enabled, the LVEs of all the reseller’s accounts are placed into a single group, which is subject to the limits of the reseller plan. The reseller itself is merely a container: it does not consume resources; its accounts do, and their combined usage is restricted by the reseller limit.

This means that two limits apply simultaneously:

  1. The sub-account’s own limit, which you set in WHM. If an account reaches it, only that account slows down; the others are not affected.
  2. The reseller limit, which we set based on the package. If the combined usage of the accounts reaches this limit, all of the reseller’s accounts will draw from the shared allowance, even if none of the individual accounts has reached its own limit.

A sub-account can never exceed the reseller quota. If you assign a limit to an account that is higher than the reseller package quota, the account will be limited to the reseller quota.

Example: the Reseller Start package offers 200% vCPU, 4 GB RAM and 100 active connections. If you have ten customer accounts, each with the limits of the cPanel Basic plan (200% vCPU, 2 GB RAM, 40 active connections), then a single heavily loaded page can use two processor cores on its own. However, if three pages experience high traffic at the same time, the three of them together will share no more than two cores and 4 GB of memory.

Overselling

The total of the limits allocated to the accounts may exceed the reseller package’s limit. In the example above, the total nominal RAM limit for the ten accounts is 20 GB, whilst the package limit is 4 GB. This is permitted and works well in practice, as websites rarely place a load on the system simultaneously: the reseller limit restricts not the allocated values, but the resources actually being used at any one time.

However, excessive overselling can result in all customers’ websites slowing down during peak traffic periods. It is therefore worth monitoring the combined usage of accounts (see below) and upgrading to a larger plan in good time.

Default limits for sub-accounts

Unless you set a specific value for your plan or account, the cPanel accounts you create will be subject to the limits of the cPanel Basic hosting plan:

Limit Default value per account
vCPU 200%
RAM 2 GB
IO 100 MB/s
IOPS 1024
Active connections 40

The number of processes (NPROC) is not limited by default. You can override the default values in WHM on a per-package or per-account basis, either increasing or decreasing them.

Setting limits in WHM

You can manage these limits in the WHM Plugins menu, within the CloudLinux Manager plugin (known as LVE Manager in older versions). In the reseller interface, the following limits can be set for sub-accounts: SPEED (vCPU), PMEM (RAM), IO, IOPS, EP (active connections) and NPROC (number of processes).

Per package

  1. Open the ‘Packages’ tab. Here you can view the packages you have created in WHM.
  2. Click on the pencil icon in the package row.
  3. Enter the limits, then click the Save button.

The package limits apply to all accounts using that package, so you only need to set them once, for example for a ‘Small’ and a ‘Large’ package.

Per account

  1. Open the ‘Users’ tab. Here you can view all your customer accounts and their limits; the list can be filtered by username, domain and LVE ID.
  2. Click on the pencil icon in the ‘Actions’ column next to the account row.
  3. Enter the values and click Save. Reset restores the default values, and Do not limit sets the account to unlimited. The account is then limited only by the reseller package’s quota.

If limits are set too low, websites may not function correctly. CloudLinux recommends that the limits for any single account should not be lower than the following: SPEED 50%, PMEM 128 MB, IO 256 KB/s, IOPS 256, EP and NPROC 10. In practice, a WordPress site requires considerably more memory than this.

What you cannot change

  • You cannot change the inode limit or the MySQL Governor database limits on either your own account or your customers’ accounts; these are managed by us. See: What is an inode? and What is the MySQL Governor?
  • For security reasons, CageFS account isolation is managed by us, not by the reseller.
  • You cannot increase the capacity of your reseller package; to do so, you will need to upgrade to a larger plan.

Monitoring resource usage

The other tabs of CloudLinux Manager show the resource usage of the accounts:

  • Current Usage: the current CPU, memory, IO, IOPS, process and EP usage for all accounts, updated every ten seconds by default. The last row of the table, marked with an asterisk, shows the total usage for the entire reseller account; please compare this with the package allowance.
  • Historical Usage: a history of usage and limit exceedances (faults) for the selected period, with a list of the five accounts using the most resources. The graph also shows if any accounts have exceeded their reseller quota.
  • Statistics: statistics per account, filterable by time period and limit, showing accounts approaching or exceeding the limit, with detailed graphs.

Customers see the same graphs on their own cPanel interface as a standard cPanel hosting subscriber would; see: How can I monitor my CloudLinux LVE resource usage in real time? The article on ‘faults’ provides guidance on interpreting the error counters.

Email notifications

On the Options tab, in the LVE Faults email notifications section, you can set who receives emails about limit faults:

  • Notify me on users faults: you are notified when a customer account reaches its own limit.
  • Notify Customers: your customers will receive notifications when they exceed their own limits.
  • Notify me when I hit my limits: you are notified when your accounts together reach the quota of your reseller package.

In the Faults to include section you choose which limits the notifications cover, and in Minimum number of Faults to notify after how many faults an email is sent, as well as how often you are notified. Save the settings with Save Changes.

Your customers are only notified about their own limits. If an account slows down because the reseller account has reached the shared quota, the customer gets no email about it, and it does not show as a fault on their own graphs either. That is why it is worth enabling Notify me when I hit my limits.

What happens when an account reaches its limit?

The effect is the same, regardless of whether the account’s own limit or the reseller quota is reached:

  • vCPU, IO or IOPS: the websites do not go down, they simply respond more slowly until the load decreases.
  • Active connections: subsequent requests return a 508 error (Resource Limit Is Reached).
  • RAM: CloudLinux terminates certain processes, which may result in a 500 or 503 error.

The difference is that the individual limit applies only to the account in question, whereas reaching the reseller quota affects all of the reseller’s accounts.

If the quota proves to be insufficient

If, according to the ‘Current Usage’ and ‘Historical Usage’ tabs, your accounts regularly reach the reseller limit, and optimising the affected pages (caching, replacing slow plugins, restricting bots) does not help, you can switch to a larger reseller plan. If you have outgrown your reseller hosting, a dedicated cPanel server provides its own processor and memory, and with the option to select a larger cPanel licence in your basket, it can also be used for reseller purposes. If you have any questions, please write to us; we’ll help you choose the right plan.

Back: CloudLinux articles (16)