BetterLinux – A CloudLinux Alternative


BetterLinux is a collection of system resource management and monitoring tools intended for hosting providers, data centers, SaaS companies, and cloud environments. With it, you can control use and allocation of CPU, memory, MySQL, device I/O bandwidth, and IP bandwidth resources. Individual users and processes that exceed set resource limits can be isolated from other system users and throttled as necessary.

Historically, process management on Linux has involved adjusting processes’ priorities and nice levels. More recently, Linux system administrators have used technologies like full virtualization, paravirtualization, Unix containers, or other similar conventions to segregate system resource usage.

These controls, while useful, are quite crude and do not address the core issue of guaranteeing and prioritizing operating system resources for critical applications across an entire system. Poorly-behaved processes can still monopolize the system and cause overall performance problems.

Recent Linux kernels have introduced the concept of control groups, or cgroups. A cgroup is used to group processes together in a hierarchical structure in order to divide resources among different process groups or subsystems. For example, one cgroup might be configured to hold all web-server related processes, with a second cgroup configured to hold system backup processes.

BetterLinux augments cgroups functionality with automatic categorization of processes based on owner or process name. This coupled with BetterLinux’s unique ability to “autoscale” resource limits based on constantly changing system loads allows you to guarantee and prioritize system resources with unprecedented confidence and precision.

BetterLinux can operate either simply or with impressive complexity as may suit your needs and interests. Each of its modules comes with configuration files wherein you can create groups of users or processes, set various limits, turn options on or off, and change logging practices, etc. For configuration changes to take effect, you must either reload the .conf changes or restart the module daemon as follows:

Service cpud restart [Restart daemon with updated changes.]
Service cpud condrestart [Load new .conf changes & restart daemon only if daemon is already running.]
Service cpud reload [Load .conf file settings without restarting daemon.]

BetterLinux consists of four modules: BetterCPU, BetterIO, BetterMySQL, and BetterBandwidth. See their brief descriptions below.



BetterCPU (a CPU controller) limits access to a server’s CPU resources by individual users and processess. Over-consuming processes are isolated to a “jail” where they are throttled as necessary to prevent them from hogging CPU resources. Processes operating within limits continue to work efficiently without interference.

  • Fairly allocate CPU resources and guarantee resources for specific users/processes
  • Temporarily “jail” over-consuming users/processes to prevent crashes and congestion
  • Automatically reallocate unused dedicated resources to cut waste
  • Trim CPU usage peaks with customized thresholds for groups and individuals
  • Stop memory overuse, system lock-ups, and runaway processes
  • Automatically kill zombies, hung or unauthorized processes, and memory hogs
  • Multiply server density while cutting heat, power, & hardware costs; increase revenue
  • Supplement set physical RAM memory limits with swap space
  • Monitor CPU, user, and core behavior in real time; see detailed logs and summaries
  • One configuration file can hold settings for multiple systems



BetterIO manages block device I/O utilization. You can create limits for individual users and groups, for individual programs, for specific devices by percent usage, and even for mount points (like NFS, iSCSI, and more). You can also limit by service time (svctime), access wait (await), or a combination of both. BetterIO can “auto-scale” system limits when resources go used to prevent waste. “Auto-scaling” responds to highly configurable conditions and use ranges in addition to recent user activity.

  • Create customized individual and group limits for users, programs, devices, and mount points
  • Control seek times, I/O operations, and disk bandwidth use for a balanced system without monopolizers.
  • Prevent bottlenecks and timeouts
  • Eliminate waste by autoscaling limits when resources go unused
  • Multiply server density
  • Thoroughly monitor per-user I/O use details and totals by device of origin in real time
  • Reduce need for more hardware or reductions in tenants per server
  • Reduce heat and power consumption
  • One configuration file can hold settings for multiple systems
  • Integration with cPanel user management for web hosting providers



BetterMySQL assigns the responsibility for queries to individual Linux users instead of to the generic MySQL user to enable individualized MySQL throttling. BetterMySQL also “auto-scales” system limits when resources go used to prevent waste.

  • Map MySQL users to Linux users; all queries now tied to specific users for individualized throttling
  • Control abusive MySQL users, processes, and threads
  • Compatible even on nonstandard platforms/directories
  • Automatically reallocate unused dedicated resources to cut waste
  • Thoroughly monitor individual MySQL use and relevant CPU use in real time; see detailed summaries
  • One configuration file can hold settings for multiple systems



BetterBandwidth includes two control categories: Bandwidth Limiting and Connection Limiting

Bandwidth Limiting:

BetterBandwidth links traffic to specific Linux users, permitting group and individual limits without need for individual IP addresses. You can also force a user’s traffic on a shared server to originate from your main shared IP. BetterBandwidth has extensive bandwidth limiting monitoring abilities.

Connection Limiting:

BetterBandwidth ties inbound traffic to specific Linux users, even when destined for generic users, like Apache’s “nobody” user. This enables you to limit the number of inbound connections available per group member on any given port (groups are admin-defined). You can also prioritize port connections (e.g. give Apache more connections than MySQL). BetterBandwidth includes a very thorough connection limiting monitor.

BetterBandwidth Features:

  • Link outgoing bandwidth to specific Linux users
  • Limit group and individual bandwidth use without assigning individual IP addresses
  • Throttle only those who exceed set limits
  • Increase profits with more users, fewer support calls, and reduced need for IPV4 IP address blocks
  • Specific users’ traffic on shared servers now originates from IP addresses you choose, not your main shared IP
  • Have more bandwidth per user or more users on your bandwidth
  • Monitor individual bandwidth use in real time with detailed info on addresses, ports, sockets, protocols, and packets; create custom summaries
  • One configuration file can hold settings for multiple systems
  • Limit the number of inbound connections for groups of users on any port
  • Link inbound traffic to specific Linux users, even when directed to Apache’s “nobody” user
  • Give some ports more connections than others
  • See connection type, method, user/port limits and current use, configured and in-use connections, and more
  • Minimize the effect of DOS attacks and correct other less severe connection inefficiencies

Installation for cPanel Servers

In order to provide quick installation options and updates, there is a pre-built package for CentOS 6.0-6.3. Other packages will be provided shortly for other popular Linux distributions. If you need a particular pre-built package, we can make it quickly available.
Follow these steps to download and perform a basic BetterLinux installation:

  • Go to and click on the “Get It Now” link.
  • When the BetterLinux Trial appears in your shopping cart, click the “checkout” link.
  • Enter your personal information, create a password, and agree to terms of service. Then click “Complete Order.”
  • You will see a “Your downloads are here!” button, which takes you to the download page, but you will not be able to download anything until you have verified your email. (see below)
  • You will receive a welcome email with your account information, order confirmation, and an email verification link. The verification link will also take you to the download page.
  • Login to your BetterLinux account and download the distribution of your choice tarballs and license file, then move them to your server:
betterlinux cpanel install
betterlinux install
  • Unpack the tarballs.
tar –xvf betterlinux-cpanel-install-*
tar –xvf betterlinux-install-*

This will create the directory …/betterlinux-install. Move the license.key file into the betterlinux-install directory.

  • Change directory to betterlinux-install, and start bl-install.
./bl-install license.key
  • Once the installation is complete, reboot your server.
  • cd back into the betterlinux-cpanel-install directory and run the bl-cpanel-install script:
  • Installation and cPanel configuration is now complete.

CPU and IO throttling limits have been auto-configured and running on your system. If you want to make throttling limit changes, please refer to our online documentation.

Removing BetterLinux New Release

In the even that you decide to back out of our product installation and want it removed from your system, please run the steps below: Note: Please do not use these steps on any BetterLinux versions prior to October 15, 2012

  • change into …/betterlinux-cpanel-install and run:
bl-cpanel-install –uninstall
  • edit /etc/grub and select the previous kernel
  • reboot
  • change into …/betterlinux-install and run:
./bl-install --uninstall




I am a g33k, Linux blogger, developer, student and Tech Writer for My passion for all things tech drives my hunt for all the coolz. I often need a vacation after I get back from vacation....