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 Parallels Cloud Server 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 Parallels Cloud Server 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 Parallels Cloud Server, 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
|
|