66
edits
Changes
no edit summary
Configuration of resource control parameters for a container
is invalid if these constraints are not satisfied. The best way to ensure the
validity of the configuration is to use the {{man|vzcfgvalidate|8}} utility.
All the interdependencies discussed below and their importance are summarized in [[UBC interdependencies table]].
(<code>avnumproc</code> here stands for the expected average number of processes).
This constraint is important for reliable applications to work of applications reliably in the
container.
If it is not satisfied, applications will start to fail at in the middle ofoperations instead of failing at the moment of while spawning more processes,and the application abilities 's ability to handle resource shortage will be very
limited.
Selecting the left side equal to the right side in the inequalities
above ensures minimal performance of network communications.
Increasing the left side will increase performance to a certain extent.
== UDP socket buffers should be big large enough if the system is not tight on memory ==
<math>dgramrcvbuf_{bar} \ge 129KB</math>
These constraints are desired, but not essential.
However, note that if the UDP traffic is so bursty that it needs larger
buffers, the datagrams will likely be lost not because of resource control
limits, but because of other memory and performance limitations.
== Number of file files limit should be adequate for the expected number of processes ==
<math>numfile \ge avnumproc \cdot 32</math>
Note that each process after a <code>execve(2)</code> system call
requires a file for each loaded shared library.
== The limit on the total size of <code>dentry</code> and <code>inode</code> structures locked in memory should be adequate for allowed number of files ==
<math>dcachesize_{bar} \ge numfile \cdot 384\ \rm(bytes)</math>
== Barrier should be less or equal than limit ==