Resource limits for cPanel hosting plans

cPanel 4 min read

LVE, or Lightweight Virtual Environment, is a technology used by the CloudLinux operating system to manage server resources efficiently and securely. LVE is used in conjunction with the underlying ‘CageFS’ system, which isolates users’ file systems and resources.

You can find the specific specifications for aWh’s hosting plans in the article ‘Resource limits for aWh hosting plans’.

Key features and benefits of LVE:

  1. Resource allocation: LVE enables the server’s resources (CPU, memory, I/O) to be distributed evenly amongst users, ensuring that no single user can overload the server, which could negatively affect the performance of other users.
  2. Security: The combination of LVE and CageFS ensures that users are isolated from one another and have no access to other users’ data or processes. This enhances server security and reduces the risk of malicious attacks.
  3. Performance optimisation: LVE enables administrators to set individual resource limits for each user, thereby ensuring that every user receives the resources they need without exceeding their allocated limits.
  4. Flexibility: Using LVE, server administrators can dynamically adjust resource limits without having to restart the server or interrupt services.

How does LVE work?

An LVE operates at the kernel level and provides each user with their own isolated environment. LVEs can apply various restrictions, such as:

  • CPU time: Limits the amount of CPU time a user can use.
  • RAM: Specifies the maximum amount of memory that can be used.
  • I/O operations: Controls the speed and volume of disk operations.
  • Number of processes: Limits the number of processes that can be run.

Why is LVE important?

LVE is particularly important for shared hosting services, where many users share the same physical server. By using LVE, service providers can ensure that no single user can disrupt the server’s operation or negatively affect the performance of other users. This increases customer satisfaction and reduces server maintenance and management costs.

Memory (RAM)

RAM is used to store temporary data required to execute tasks. This resource is affected by scripts, operations carried out on the website, users accessing the website’s various pages, and MySQL queries. Once a task is complete, the data is removed to make room for the next task. We allocate X gigabytes (GB) to each plan for your use.

Here are a few tips for keeping RAM usage at an optimal level:

  • Using a cache extension – Serving cached content to users reduces the number of active tasks that use RAM due to repeat visits;
  • Disable the automatic execution of cron jobs (e.g. wp_cron from WordPress) and configure them to run at specified intervals via the ‘Cron Jobs’ tab in cPanel;
  • Keep your CMS up to date, including the latest versions of the templates, extensions and plugins you use. Make sure you remove any unnecessary extensions to avoid overloading memory with tasks you do not need.

CPU

The CPU is essentially the hardware used for data processing; it comprises sockets equipped with ‘cores’, each of which performs the required tasks. The CPU first retrieves data stored in the cache, if available; if not, it refers to the data served by the RAM, which it processes during operations carried out on the website (as mentioned above in the section on RAM usage). We allocate a number X of cores that your account can use to process tasks.

Here are a few tips for keeping CPU usage at an optimal level:

  • Caching!!! The CPU always accesses the cache first, before RAM; it can access the cache much more easily and quickly than it can process a new task via RAM. The more content stored in the cache, the less strain there is on the CPU cores;
  • Use a CDN, such as Cloudflare. This option helps to offload the retrieval and delivery of your website’s data, which also helps to reduce server load;
  • Make sure once again that your website is optimised, up to date and tidy (remove any unnecessary content or data).

Entry Processes (processes)

Login processes refer to the number of processes accessing your account: for example, every PHP page accessed by a user, SSH sessions and cron jobs. These generally come and go, and the CPU processes them quickly, depending on the type of request. We allocate a value of X for the number of concurrent processes.

Here are a few tips to ensure your login processes don’t reach their limits:

  • Optimise your SQL queries
  • Simplify the code on your website to make the process easier to manage
  • Disabling automated tasks such as wp_cron and admin-ajax.php (for WordPress)
  • Managing search engines and blocking them from inappropriate locations using the robots.txt file
  • Optimise your website to avoid running unnecessary processes.

Number of inodes

In simple terms, inodes are small storage ‘boxes’ used to store the data for every single file and folder on your hosting account. So, for example, 30,000 inodes in use = 30,000 files and folders.

IOPS and IO

IOPS stands for input/output operations per second. This limit affects the number of data blocks that can be written to or read from your website.

IO stands for Input/Output and is measured in MB per second. This limit affects the size of the data blocks that can be read from or written to your website.

Generally speaking, the other limits mentioned above have an impact; if you optimise them properly, you won’t have any problems with these two either.

Back: cPanel articles (43)