Editing UBC primary parameters
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.
The edit can be undone.
Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision | Your text | ||
Line 2: | Line 2: | ||
The most important parameters determining the resources available to | The most important parameters determining the resources available to | ||
− | + | Virtual Environment are explained below. The meaning of the parameters | |
− | is illustrated assuming that the | + | is illustrated assuming that the Virtual Environment runs some network |
server applications. | server applications. | ||
== numproc == | == numproc == | ||
− | Maximum number of processes and kernel-level threads allowed for this | + | Maximum number of processes and kernel-level threads allowed for this Virtual Environment. |
Many server applications (like Apache Web server, FTP and mail servers) | Many server applications (like Apache Web server, FTP and mail servers) | ||
Line 17: | Line 17: | ||
Configuring resource control system, it is important to estimate both | Configuring resource control system, it is important to estimate both | ||
the maximum number of processes and the average number of processes | the maximum number of processes and the average number of processes | ||
− | (referred to as | + | (referred to as avnumproc later). Other (dependent) resource |
control parameters may depend both on the limit and the average number (see [[UBC consistency check]]). | control parameters may depend both on the limit and the average number (see [[UBC consistency check]]). | ||
− | + | Barrier of numproc doesn't provide additional control and should be set equal to the limit. | |
There is a restriction on the total number of processes in the system. | There is a restriction on the total number of processes in the system. | ||
Line 39: | Line 39: | ||
number of TCP connections and, thus, the number of clients the server | number of TCP connections and, thus, the number of clients the server | ||
application can handle in parallel. | application can handle in parallel. | ||
− | + | Barrier of this parameter should be set equal to the limit. | |
− | + | If each Virtual Environment has it's own set of IP addresses (which is | |
− | |||
− | If each | ||
the only way a OpenVZ system can be configured), there are no direct | the only way a OpenVZ system can be configured), there are no direct | ||
limits on the total number of TCP sockets in the system. The number | limits on the total number of TCP sockets in the system. The number | ||
− | of | + | of sockes needs to be controlled because each socket needs certain |
amount of memory for receive and transmit buffers (see descriptions | amount of memory for receive and transmit buffers (see descriptions | ||
− | of <code> | + | of [[<code>tcpsndbuf</code>]] and [[<code>tcprcvbuf</code>]]), and |
the memory is a limited resource. | the memory is a limited resource. | ||
Line 64: | Line 62: | ||
(SNMP agents and others). | (SNMP agents and others). | ||
− | + | <code>Barrier</code> of this parameter should be set equal to the <code>limit</code>. | |
The number of local sockets in a system is not limited. The number of | The number of local sockets in a system is not limited. The number of | ||
UDP sockets in a system, similarly to TCP sockets, is not limited in | UDP sockets in a system, similarly to TCP sockets, is not limited in | ||
Line 83: | Line 81: | ||
more memory it needs. | more memory it needs. | ||
− | The amount of memory that | + | The amount of memory that Virtual Environment's applications are |
− | guaranteed to be able to allocate is specified as the | + | guaranteed to be able to allocate is specified as the barrier of |
<code>vmguarpages</code> parameter. The current amount of allocated memory space | <code>vmguarpages</code> parameter. The current amount of allocated memory space | ||
is accounted into <code>privvmpages</code> parameter, and <code>vmguarpages</code> | is accounted into <code>privvmpages</code> parameter, and <code>vmguarpages</code> | ||
− | parameter does not have its own accounting. The | + | parameter does not have its own accounting. The barrier and the limit of |
<code>privvmpages</code> parameter impose an upper limit on the memory allocations | <code>privvmpages</code> parameter impose an upper limit on the memory allocations | ||
(see [[privvmpages]]). The meaning of the <code>limit</code> for the | (see [[privvmpages]]). The meaning of the <code>limit</code> for the | ||
<code>vmguarpages</code> parameter is unspecified in the current version and should be set | <code>vmguarpages</code> parameter is unspecified in the current version and should be set | ||
− | to the maximal allowed value ([[ | + | to the maximal allowed value ([[MAX_ULONG]]). |
If the current amount of allocated memory space does not exceed the | If the current amount of allocated memory space does not exceed the | ||
guaranteed amount (the <code>barrier</code> of <code>vmguarpages</code>), | guaranteed amount (the <code>barrier</code> of <code>vmguarpages</code>), | ||
− | memory allocations of | + | memory allocations of Virtual Environment's applications always succeed. |
If the current amount of allocated memory space exceeds the guarantee but below | If the current amount of allocated memory space exceeds the guarantee but below | ||
the <code>barrier</code> of <code>privvmpages</code>, allocations may or may not succeed, | the <code>barrier</code> of <code>privvmpages</code>, allocations may or may not succeed, | ||
Line 105: | Line 103: | ||
made by the applications fail. | made by the applications fail. | ||
The memory allocation guarantee (<code>vmguarpages</code>) is a primary tool for | The memory allocation guarantee (<code>vmguarpages</code>) is a primary tool for | ||
− | controlling the memory available to | + | controlling the memory available to Virtual Environments, because |
it allows administrators to provide Service Level Agreements — agreements | it allows administrators to provide Service Level Agreements — agreements | ||
guaranteeing certain quality of service, certain amount of resources | guaranteeing certain quality of service, certain amount of resources | ||
and general availability of the service. The unit of measurement | and general availability of the service. The unit of measurement | ||
− | of vmguarpages values is memory pages (4KB on x86 | + | of vmguarpages values is memory pages (4KB on x86 processors). |
− | The total memory allocation guarantees given to | + | The total memory allocation guarantees given to Virtual Environments |
are limited by the physical resources of the computer — the size of RAM | are limited by the physical resources of the computer — the size of RAM | ||
and the swap space — as discussed in [[UBC systemwide configuration]]. | and the swap space — as discussed in [[UBC systemwide configuration]]. | ||
− | |||
− |