Resource Management Parameters
All resource management parameters can be subdivided into the CPU, disk, system, and VSwap categories for your convenience. Any parameter can be set with the prlctl set command and the corresponding option name (in the lower case, e.g., --kmemsize for KMEMSIZE , etc.). See Managing Containers for more details. The Typical value column, if present, specifies a range of reasonable parameter values for different applications, from light to huge heavy loaded Containers. If the barrier and limit fields are in use, ranges for both thresholds are given.
CPU Parameters
Parameter
|
Description
|
Typical value
|
CPUUNITS
|
CPU weight. This is a positive integer number that defines how much CPU time the Container can get as compared to the other virtual machines and Containers running on the server. The larger the number, the more CPU time the Container can receive. Possible values range from 8 to 500000. If this parameter is not set, the default value of 1000 is used.
|
250
1000
|
CPULIMIT | CPULIMIT_MHZ
|
CPU limit, in per cent (CPULIMIT ) or megahertz (CPULIMIT_MHZ ), the Container is not allowed to exceed. The parameter is not set for newly created Containers; so they can consume all free CPU power of the server.
When setting this parameter in per cent, keep in mind that one CPU core makes up 100%. So if the server has 4 CPU cores, the total CPU power will equal 400%.
|
|
CPUS
|
Number of CPU cores defining the CPU limit for a Container. The limit is calculated by multiplying the power of one CPU core by the number of the specified CPU cores.
This option also defines the number of CPUs shown to users from inside a Container.
This parameter is not set for newly created Containers; so they can consume all free CPU power of the server.
|
|
CPUMASK
|
The CPU affinity mask defining which CPUs on the Node can be used to handle the processes running in the Container. The CPU mask can be specified as both separate CPU index numbers (1,2,3) and CPU ranges (2-4,5-7).
|
|
NODEMASK
|
The NUMA node mask defining a NUMA node to bind the Container to.
Once you set the mask, the processes running in the Container will be executed only on the CPUs that belong to the specified NUMA node.
|
|
BURST_CPU_AVG_USAGE
|
CPU usage limit, in percent, set for the Container. This limit is calculated as the ratio of the current Container CPU usage to the CPU limit (i.e to the value of the CPULIMIT parameter) set for the Container in its configuration file. If the limit is not specified, the full CPU power of the server is considered as the CPU limit. Upon exceeding the BURST_CPU_AVG_USAGE limit, the BURST_CPULIMIT limit is applied to the Container. This parameter redefines the BURST_CPU_AVG_USAGE parameter set in the Virtuozzo configuration file.
|
disabled
|
BURST_CPULIMIT
|
CPU power limit, in per cent, the Container cannot exceed. The limitations set in this parameter are applied to the Container when it exceeds the limit specified in the BURST_CPU_AVG_USAGE parameter. This parameter redefines the BURST_CPULIMIT parameter specified in the Virtuozzo configuration file.
|
|
Disk Parameters
Parameter
|
Description
|
Typical value
|
DISKSPACE
|
Total size of disk space that can be consumed by the Container, in 1 KB blocks.
|
204800
10485760-204800
11534340
|
QUOTAUGIDLIMIT
|
This parameter enables (if set to a value other than 0 ) or disables (if set to 0 ) per-user and per-group quotas for further management with the standard Linux quota utility.
Enabling per-user and per-group quotas for a Container requires restarting the Container.
|
0
N
|
IOPRIO
|
The Container priority for disk I/O operations. The higher the priority, the more time the Container has for writing to and reading from the disk. The default Container priority is 4.
|
0-7
|
IOPSLIMIT
|
The maximum number of disk input and output operations per second a Container is allowed to perform.
By default, any newly created Container does not have the IOPS limit set and can perform so many disk I/O operations per second as necessary.
|
|
IOLIMIT
|
The bandwidth a Container is allowed to use for its disk input and output (I/O) operations. By default, the limit is set in megabytes per second. However, you can use the following suffixes to use other measurement units:
G — sets the limit in gigabytes per second.K — sets the limit in kilobytes per second.B — sets the limit in bytes per second.
In the current version of Virtuozzo, the maximum I/O bandwidth limit you can set for a Container is 2 GB per second.
The default I/O bandwidth limit for all newly created Containers is set to 0, which means that no limits are applied to any Containers.
|
|
System Parameters
Parameter
|
Description
|
Typical value
|
NUMPROC
|
Number of processes and threads allowed. Upon hitting this limit, Container will not be able to start a new process or thread.
|
40
400
|
AVNUMPROC
|
Number of processes expected to run in the Container on average. This is informational parameter used by utilities like vzcfgvalidate in order to ensure configuration correctness.
|
0
NUMPROC
|
NUMTCPSOCK
|
Number of TCP sockets (PF_INET family, SOCK_STREAM type). This parameter limits the number of TCP connections and, thus, the number of clients the server application can handle in parallel.
|
40
500
|
NUMOTHERSOCK
|
Number of sockets other than TCP. Local (UNIX-domain) sockets are used for communications inside the system. UDP sockets are used for Domain Name Service (DNS) queries, as example. UDP and other sockets may also be used in some very special applications (SNMP agents and others).
|
40
500
|
VMGUARPAGES
|
Memory allocation guarantee, in pages. Applications are guaranteed to be able to allocate memory while the amount of memory accounted as privvmpages does not exceed the configured barrier of the vmguarpages parameter. Above the barrier, memory allocation is not guaranteed and may fail in case of overall memory shortage.
|
1725
107520
|
KMEMSIZE
|
Size of unswappable kernel memory, allocated for internal kernel structures for the processes of a particular Container. Typical amounts of kernel memory is 16
50 KB per process.
|
798720
13148160-851968
14024704
|
TCPSNDBUF
|
The total size of send buffers for TCP sockets, i.e. the amount of kernel memory allocated for data sent from applications to TCP sockets, but not acknowledged by the remote side yet.
|
159744
5365760-262144
10458760
|
TCPRCVBUF
|
Total size of receive buffers for TCP sockets. Amount of kernel memory, received from remote side but not read by local application yet.
|
159744
5365760-262144
10458760
|
OTHERSOCKBUF
|
Total size of UNIX-domain socket buffers, UDP and other datagram protocols send buffers.
|
61440
1503232-163840
4063232
|
DGRAMRCVBUF
|
Total size of receive buffers of UDP and other datagram protocols.
|
32768
262144
|
OOMGUARPAGES
|
Out-of-memory guarantee, in pages. Any Container process will not be killed even in case of heavy memory shortage if current memory consumption (including both physical memory and swap) until the oomguarpages barrier is not reached.
|
1725
107520
|
LOCKEDPAGES
|
Memory not allowed to be swapped out (locked with the mlock() system call), in pages (one page is 4 KB).
|
4
4096
|
SHMPAGES
|
Total size of shared memory (including IPC, shared anonymous mappings and tmpfs objects), allocated by processes of a particular Container, in pages.
|
512
16384
|
PRIVVMPAGES
|
Size of private (or potentially private) memory, allocated by an application. Memory that is always shared among different applications is not included in this resource parameter.
|
3072
151200-3450
1612800
|
NUMFILE
|
Number of files opened by all Container processes.
|
512
8192
|
NUMFLOCK
|
Number of file locks created by all Container processes.
|
50
200 – 60
220
|
NUMPTY
|
Number of pseudo-terminals. For example, the ssh session, screen , the xterm application consumes pseudo-terminal resources.
|
4
64
|
NUMSIGINFO
|
Number of siginfo structures (essentially this parameter limits the size of signal delivery queue).
|
256
512
|
DCACHESIZE
|
Total size of dentry and inode structures locked in memory. As example, application, first opening the /etc/passwd file, locks entries corresponding to etc and passwd inodes. If a second application opens the /etc/shadow file – only entry corresponding to shadow is charged, because etc is charged already.
|
184320
3932160-196608
4194304
|
PHYSPAGES
|
Total size of RAM used by processes. This parameter is used for accounting purposes only. It shows the usage of RAM by the Container. For memory pages used by several different Containers (mappings of shared libraries, for example), only a fraction of a page is charged to each Container. The sum of the physpages for all Containers corresponds to the total number of pages used in the system by all accounted users.
|
Not limited
|
NUMIPTENT
|
The number of IP packet filtering entries.
|
12
128
|
VSwap Parameters
Parameter
|
Description
|
Typical value
|
PHYSPAGES
|
Amount of RAM that can be used by the processes of a Container, in 4-KB pages.
|
|
SWAP
|
Amount of swap space that can be used by the Container for swapping out memory once the RAM is exceeded, in 4-KB pages.
|
|
VM_OVERCOMMIT
|
Memory overcommit factor that defines the memory allocation limit for a Container. The limit is calculated as
(PHYSPAGES + SWAP) * factor .
|
Not limited
|
|