Configuring Legacy Containers
If you upgrade from an earlier version of Virtuozzo 6, all Containers start using the new memory management scheme after the upgrade. Every time a Container is started, the system automatically calculates the values of RAM, swap, and allocation limit from the memory parameters that were applied to a Container before the upgrade and uses them for the Container while it is running. The calculation rules are described below.
SLM
If a Container uses only SLM parameters:
- The amount of RAM is set to the value of the
SLMMEMORYLIMIT parameter. - The amount of swap is set to 0.
- The memory allocation limit is set to the value of the
SLMMEMORYLIMIT parameter multiplied by the value of the VM_OVERCOMMIT parameter. By default, the VM_OVERCOMMIT parameter is not limited, which means that the memory allocation limit is also unlimited. To configure the limit for a Container, you need to set the VM_OVERCOMMIT parameter in its configuration file.
For example, if the SLMMEMORYLIMIT and VM_OVERCOMMIT parameters for Container 101 are set to 1 GB and 1.5, respectively, the Container will have them set to the following values after the upgrade: RAM = 1 GB, swap = 0, memory allocation limit = 1.5 GB.
UBC
If a Container uses only UBC parameters:
- The amount of RAM is set to the soft limit of the
PRIVVMPAGES parameter. - The amount of swap is set to 0.
- The memory allocation limit is set to the hard limit of the
PRIVVMPAGES parameter
For example, if the soft limit of PRIVVMPAGES for Container 101 is set to 65536 pages and the hard limit to 131072, then the Container will have the following parameters: RAM = 256 MB, swap = 0, memory allocation limit = 2.
SLM and UBC
If a Container uses both SLM and UBC parameters:
- The amount of RAM is set to the value of the
SLMMEMORYLIMIT parameter. - The amount of swap is set to 0.
- The memory allocation limit is set to the value of the
SLMMEMORYLIMIT parameter multiplied by the value of the VM_OVERCOMMIT parameter. By default, the VM_OVERCOMMIT parameter is not limited, which means that the memory allocation limit is also unlimited. To configure the limit for a Container, you need to set the VM_OVERCOMMIT parameter in its configuration file.
For example, if the SLMMEMORYLIMIT and VM_OVERCOMMIT parameters for Container 101 are set to 1 GB and 1.5, respectively, the Container will have them set to the following values after the upgrade: RAM = 1 GB, swap = 0, memory allocation limit = 1.5 GB.
|