| Virtuozzo Service Level Management (SLM) is a system that maintains and allows administrators to configure and control the levels of service (i.e., the set of 'promises') provided to VPS owners. The similar mechanism implemented in previous Virtuozzo for Linux and current OpenVZ versions called UBC (user bean counters) is complex and requires considerable efforts to be understood, has too many parameters, introduces new terms and concepts, does not have any parameter corresponding to an intuitively clear concept of total memory size, and induces administrators' mistakes. As a result, UBC impedes Virtuozzo adoption.
UBC presents the notion of a Guaranteed and Burst RAM, but at the same time there are 20 different memory related variables such as maximum processes, open files, iptables entries, kernel objects, disk cache, and TCP sockets that are limited independently of the RAM values and these vary greatly depending on the provider. If the UBC limits are set too low you will never actually be able to utilize your full RAM allocation.
SLM is the answer to the problem. With SLM you are allocated a dedicated amount of RAM that can be used in any way you require without fear of running into one of the 20 UBC limits. An example would be with UBC a VPS may be limited to 128 iptables entries. With SLM you can create thousands of iptables entries up to their global RAM limit if that is how you wish to utilize your memory. There is no per-VPS swap space using SLM, the host server performs swapping on behalf of the VPS and therefore is able to ensure a single VPS is not swapping to the point of hindering other VPS's sharing the same server. SLM implements a per-VPS OOM (out of memory) killer that is intelligently designed. In event of memory shortage inside a VPS Virtuozzo SLM will first attempt to delay execution of a task to wait for available memory and then it will decide which applications need to be killed to ensure a running system, not just denying the memory request to the last application requesting it as is done with UBC.
In summary SLM is the next generation of allocating RAM using Virtuozzo and eliminates many problems with the previous guaranteed and burst (UBC) method of previous Virtuozzo releases. It is the best solution for consumers as it ensures a consistent RAM allocation that can be utilized as per the customers requirements.
|