<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openvz.org/index.php?action=history&amp;feed=atom&amp;title=Memory_guarantees_for_Containers_and_Virtual_Machines</id>
	<title>Memory guarantees for Containers and Virtual Machines - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openvz.org/index.php?action=history&amp;feed=atom&amp;title=Memory_guarantees_for_Containers_and_Virtual_Machines"/>
	<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Memory_guarantees_for_Containers_and_Virtual_Machines&amp;action=history"/>
	<updated>2026-08-14T03:40:06Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.31.1</generator>
	<entry>
		<id>https://wiki.openvz.org/index.php?title=Memory_guarantees_for_Containers_and_Virtual_Machines&amp;diff=19172&amp;oldid=prev</id>
		<title>Sergey Bronnikov: Created page with &quot;== Feature ==  Memory guarantees for Containers and Virtual Machines https://jira.sw.ru/browse/PSBM-42670  == Description ==  It's possible to define memory guarantees for bot...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.openvz.org/index.php?title=Memory_guarantees_for_Containers_and_Virtual_Machines&amp;diff=19172&amp;oldid=prev"/>
		<updated>2016-01-28T10:13:57Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;== Feature ==  Memory guarantees for Containers and Virtual Machines https://jira.sw.ru/browse/PSBM-42670  == Description ==  It&amp;#039;s possible to define memory guarantees for bot...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;== Feature ==&lt;br /&gt;
&lt;br /&gt;
Memory guarantees for Containers and Virtual Machines https://jira.sw.ru/browse/PSBM-42670&lt;br /&gt;
&lt;br /&gt;
== Description ==&lt;br /&gt;
&lt;br /&gt;
It's possible to define memory guarantees for both Containers and Virtual Machines. VCMMD must ensure dynamic memory configuration of Virtual Environments never screw up defined VEs memory guarantees.&lt;br /&gt;
&lt;br /&gt;
How to set up memory guarantee for a VE:&lt;br /&gt;
&lt;br /&gt;
  # prlctl set VE --memguarantee [%]&lt;br /&gt;
&lt;br /&gt;
Examples:&lt;br /&gt;
&lt;br /&gt;
  prlctl set VE --memguarantee 50&lt;br /&gt;
  prlctl set VE --memguarantee auto&lt;br /&gt;
&lt;br /&gt;
Note: &amp;quot;auto&amp;quot; is for default value (40% for VMs, 20% for CTs)&lt;br /&gt;
&lt;br /&gt;
Unlimited Containers have [FIXME] % memory guarantees by default. (Virtual Machines cannot be &amp;quot;unlimited&amp;quot; by design.)&lt;br /&gt;
&lt;br /&gt;
== Products ==&lt;br /&gt;
&lt;br /&gt;
Virtuozzo 7&lt;br /&gt;
&lt;br /&gt;
Packages:&lt;br /&gt;
&lt;br /&gt;
* vcmmd-7.0.38-1&lt;br /&gt;
* vzkernel-3.10.0-229.7.2.vz7.9.29&lt;br /&gt;
* prl-disp-service-7.0.235&lt;br /&gt;
* prlctl-7.0.33&lt;br /&gt;
* vzctl-7.0.85&lt;br /&gt;
&lt;br /&gt;
== Testing ==&lt;br /&gt;
&lt;br /&gt;
* host RAM=X, total sum of currently running VEs = Y (Y&amp;lt;X)&lt;br /&gt;
   You are trying to start a VE with memory guarantee Z (or increase the memory guarantee for existing VE to Z).&lt;br /&gt;
&lt;br /&gt;
   a) if Z &amp;gt; X - Y - min(X*0.05, 1Gb),		operation should fail&lt;br /&gt;
   b) if Z &amp;lt; (X - Y - min(X*0.05, 1Gb)) * 0.95,	operation should succeed&lt;br /&gt;
&lt;br /&gt;
* for each running VE, it should be able to allocate and use memory without OOM,&lt;br /&gt;
   if total VE usage is not greater than VE's memory limit&lt;br /&gt;
&lt;br /&gt;
* Attempt to set --memquota must fail (otherwise - broken expectations) and print reasonable error message,&lt;br /&gt;
   like &amp;quot;This option is deprecated, please use —memguarantee instead&amp;quot;.&lt;br /&gt;
   https://jira.sw.ru/browse/PSBM-41963&lt;br /&gt;
&lt;br /&gt;
== Known issues ==&lt;br /&gt;
&lt;br /&gt;
* 'prlctl start VM' is the only way to start VM with memory guarantee&lt;br /&gt;
   (In other words in case you start a VM via virsh, memory guarantees won't work for sure.)&lt;br /&gt;
   https://jira.sw.ru/browse/PSBM-43106&lt;br /&gt;
&lt;br /&gt;
== What was checked by developer ==&lt;br /&gt;
&lt;br /&gt;
* cgroups' lowlimit never goes lower than memory guarantees set for a Container&lt;br /&gt;
&lt;br /&gt;
==  Feature owner ==&lt;br /&gt;
&lt;br /&gt;
* vcmmd part		- vdavydov at virtuozzo.com&lt;br /&gt;
* prlctl part		- dandreev at virtuozzo.com&lt;br /&gt;
* dispatcher parts	- shrike at virtuozzo.com, igor at virtuozzo.com, dandreev at virtuozzo.com&lt;br /&gt;
* vzctl part		- igor at virtuozzo.com&lt;/div&gt;</summary>
		<author><name>Sergey Bronnikov</name></author>
		
	</entry>
</feed>