Isolation & limits
Isolation & limits is an optional module that does what CloudLinux does on other panels: every account has CPU, memory, process, disk and database connection limits, and its PHP is isolated from the other accounts. It is included in every plan, with no extra licence and no modified kernel: it uses what Ubuntu 24.04 already has (systemd and cgroup v2).
The module is not installed by default: until you install it nothing changes on the server. With a few sites you usually don't need it; it becomes useful when the same server hosts the sites of several customers.
Install and uninstall
From Server › Isolation & limits (administrators): the page first checks the server requirements, then Install. The PHP of each account moves to a service of its own; sites stay online (the PHP of each account pauses for about two tenths of a second). With the installer: KOAPANEL_ISOLATION=1.
Uninstall brings the server back as it was: every site goes back to the shared PHP of its version and the limits no longer apply.
Each account uses about 10-15 MB of extra memory for its PHP.
The limits
| Limit | What it means |
|---|---|
| CPU (%) | 100 = one full core. Beyond it, the account's PHP slows down |
| Memory (MB) | when the account reaches the limit the process that overdoes it is stopped (its page returns an error), the others carry on |
| Processes | processes and threads together: PHP, cron, WP-CLI |
| I/O (MB/s) | read and write on each disk of the sites |
| Database connections | simultaneous connections of each MariaDB user of the account's sites |
0 means unlimited. The limits of an account are decided like this, from the first one set:
- on the account (for example from the options of the WHMCS module, or from Limits & usage › Change the limits);
- in its package (Packages, Resources section);
- the server default limits (module page): 1 core, 1 GB, 200 processes, 50 MB/s, 20 connections.
Administrators' sites have no limits. Only the server administrator sets limits; resellers see them.
A site that goes over its limits slows down only its own account: the others carry on as before.
Isolation
The PHP and the cron jobs of each account see the system read-only, in the sites folder only their own sites (those of other accounts are simply not there), a private /tmp, no /home or /root folder and only their own processes. This adds to the checks the panel already does (a separate user per site, open_basedir, dangerous functions disabled).
The cron jobs of the account's sites, WP-CLI, WordPress updates made by the panel and the Redis cache of each site also count against the account's limits.
Limits & usage
The Limits & usage page shows for each account its CPU, memory, process and disk usage (graphs of the last 24 hours and 30 days) and the times it hit a limit. Administrators see every account, resellers their customers, each user its own account.
When an account hits its limits an email is sent (at most one a day per account) to the administrators and to its reseller. If it happens often the site has a problem (a plugin, an attack, too much traffic) or it needs a package with more resources.
What it doesn't do
No modified kernel and no version selectors for Ruby, Python or Node: it covers PHP and WordPress, i.e. almost all shared hosting.