Open main menu

OpenVZ Virtuozzo Containers Wiki β

Editing UBC systemwide configuration

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 1: Line 1:
 
{{UBC toc}}
 
{{UBC toc}}
  
The [[UBC consistency check]] article discussed validation of [[UBC]] configuration for a single container. This article discusses checks that the UBC configuration of the
+
The [[UBC consistency check]] article discussed validation of a resource control configuration
 +
for a single container. This article discusses checks that the configuration of the
 
'''whole''' system is '''valid'''.
 
'''whole''' system is '''valid'''.
  
Line 17: Line 18:
 
The best way to make sure that the configuration of the whole system
 
The best way to make sure that the configuration of the whole system
 
is valid is to run periodic automatic checks, based on the formulae described
 
is valid is to run periodic automatic checks, based on the formulae described
below. {{Man|vzmemcheck|8}} utility can be helpful in calculations.
+
below.
  
 
== Resource utilization and commitment level ==
 
== Resource utilization and commitment level ==
Line 27: Line 28:
 
containers at the given time.
 
containers at the given time.
 
In general, low utilization values mean that the system is under-utilized.
 
In general, low utilization values mean that the system is under-utilized.
Often, it means that the system is capable of supporting more containers
+
Often, it means that the system is capable of supporting more Virtual
if the existing containers continue to maintain
+
Environment if the existing containers continue to maintain
 
the same load and resource consumption level.
 
the same load and resource consumption level.
 
High utilization values (in general, more than <code>1</code>)
 
High utilization values (in general, more than <code>1</code>)
Line 42: Line 43:
 
overcommitted.
 
overcommitted.
 
If the system runs a lot of containers,
 
If the system runs a lot of containers,
it is usually acceptable to have some overcommitment, because it is unlikely that all containers will request resources at the same time.
+
it is usually acceptable to have some overcommitment, because it is unlikely that all Virtual
 +
Environments will request resources at the same time.
 
However, higher commitment levels (as discussed below for each resource
 
However, higher commitment levels (as discussed below for each resource
 
individually) will cause containerss to experience failures to
 
individually) will cause containerss to experience failures to
 
allocate and use the resources promised to them.
 
allocate and use the resources promised to them.
  
== “Low memory” (x86_32 specific) ==
+
== “Low memory” (x86 specific) ==
 
Because of specifics of architecture of Intel's x86 processors, the RAM of the
 
Because of specifics of architecture of Intel's x86 processors, the RAM of the
 
computer can't be used uniformly.
 
computer can't be used uniformly.
Line 61: Line 63:
  
 
<math>
 
<math>
\frac{\displaystyle\sum_{all\ containers}
+
\frac{\displaystyle\sum_{all\ VE}
 
         (kmemsize_{cur}+allsocketbuf_{cur})}
 
         (kmemsize_{cur}+allsocketbuf_{cur})}
 
     {0.4\cdot\min(RAM\ size, {\rm 832MB})}\rm,
 
     {0.4\cdot\min(RAM\ size, {\rm 832MB})}\rm,
Line 81: Line 83:
  
 
<math>
 
<math>
\frac{\displaystyle\sum_{all\ containers}
+
\frac{\displaystyle\sum_{all\ VE}
 
         (kmemsize_{lim}+allsocketbuf_{lim})}
 
         (kmemsize_{lim}+allsocketbuf_{lim})}
 
     {0.4\cdot\min(RAM\ size, {\rm 832MB})}\rm.
 
     {0.4\cdot\min(RAM\ size, {\rm 832MB})}\rm.
Line 110: Line 112:
  
 
<math>
 
<math>
\sum_{all\ containers}
+
\sum_{all\ VE}
 
     (physpages_{cur}\cdot4096+kmemsize_{cur}+allsocketbuf_{cur})\rm.
 
     (physpages_{cur}\cdot4096+kmemsize_{cur}+allsocketbuf_{cur})\rm.
 
</math>
 
</math>
Line 122: Line 124:
  
 
<math>
 
<math>
\frac{\displaystyle\sum_{all\ containers}
+
\frac{\displaystyle\sum_{all\ VE}
 
         (physpages_{cur}\cdot4096+
 
         (physpages_{cur}\cdot4096+
 
         kmemsize_{cur}+allsocketbuf_{cur})}
 
         kmemsize_{cur}+allsocketbuf_{cur})}
Line 170: Line 172:
 
=== Utilization ===
 
=== Utilization ===
 
<math>
 
<math>
\frac{\displaystyle\sum_{all\ containers}
+
\frac{\displaystyle\sum_{all\ VE}
 
         (oomguarpages_{cur}\cdot4096+
 
         (oomguarpages_{cur}\cdot4096+
 
         kmemsize_{cur}+allsocketbuf_{cur})}
 
         kmemsize_{cur}+allsocketbuf_{cur})}
Line 188: Line 190:
 
=== Commitment level ===
 
=== Commitment level ===
 
<math>
 
<math>
\frac{\displaystyle\sum_{all\ containers}
+
\frac{\displaystyle\sum_{all\ VE}
 
         (oomguarpages_{bar}\cdot4096+
 
         (oomguarpages_{bar}\cdot4096+
 
         kmemsize_{lim}+allsocketbuf_{lim})}
 
         kmemsize_{lim}+allsocketbuf_{lim})}
Line 196: Line 198:
 
The normal commitment level is about <math>0.8</math>—<math>1</math>.
 
The normal commitment level is about <math>0.8</math>—<math>1</math>.
  
Commitment levels more than <math>1</math> means that the containers are
+
Commitment levels more than <math>1</math> means that the Virtual Environmens are
 
guaranteed more memory than the system has.
 
guaranteed more memory than the system has.
 
Such overcommitment is strongly not recommended, because in that case
 
Such overcommitment is strongly not recommended, because in that case
Line 204: Line 206:
  
 
It is better to guarantee containers less and have less commitment
 
It is better to guarantee containers less and have less commitment
levels than to accidentally overcommit the system by memory plus swap.
+
levels than to accidently overcommit the system by memory plus swap.
 
If the system has spare memory and swap, containers will
 
If the system has spare memory and swap, containers will
 
transparently be able to use the memory and swap above their guarantees.
 
transparently be able to use the memory and swap above their guarantees.
Line 234: Line 236:
 
=== Utilization ===
 
=== Utilization ===
 
<math>
 
<math>
\frac{\displaystyle\sum_{all\ containers}
+
\frac{\displaystyle\sum_{all\ VE}
 
         (privvmpages_{cur}\cdot4096+
 
         (privvmpages_{cur}\cdot4096+
 
         kmemsize_{cur}+allsocketbuf_{cur})}
 
         kmemsize_{cur}+allsocketbuf_{cur})}
Line 259: Line 261:
  
 
<math>
 
<math>
\frac{\displaystyle\sum_{all\ containers}
+
\frac{\displaystyle\sum_{all\ VE}
 
         (vmguarpages_{bar}\cdot4096+
 
         (vmguarpages_{bar}\cdot4096+
 
         kmemsize_{lim}+allsocketbuf_{lim})}
 
         kmemsize_{lim}+allsocketbuf_{lim})}
Line 303: Line 305:
  
 
<math>
 
<math>
\frac{\displaystyle\sum_{all\ containers}
+
\frac{\displaystyle\sum_{all\ VE}
 
         (privvmpages_{lim}\cdot4096+
 
         (privvmpages_{lim}\cdot4096+
 
         kmemsize_{lim}+allsocketbuf_{lim})}
 
         kmemsize_{lim}+allsocketbuf_{lim})}
Line 329: Line 331:
 
However, for stability-critical applications, it's better to keep
 
However, for stability-critical applications, it's better to keep
 
the level not exceeding <math>1</math>.
 
the level not exceeding <math>1</math>.
 
<references/>
 

Please note that all contributions to OpenVZ Virtuozzo Containers Wiki may be edited, altered, or removed by other contributors. If you don't want your writing to be edited mercilessly, then don't submit it here.
If you are going to add external links to an article, read the External links policy first!

To edit this page, please answer the question that appears below (more info):

Cancel Editing help (opens in new window)

Templates used on this page: