Difference between revisions of "I/O priorities"

From OpenVZ Virtuozzo Containers Wiki
Jump to: navigation, search
(categorized)
Line 1: Line 1:
The I/O priorities feature is implemented in OpenVZ since <tt>2.6.18-028stable021</tt> kernel and since <tt>vzctl 3.0.16</tt>. This feature allows to assign I/O priority to any [[VE]]. Priority range is <tt>0-7</tt>. The more priority [[VE]] has, the more time for using block devices this [[VE]] will obtain. Note, that this feature is implemented on base of CFQ I/O scheduler, so this scheduler should be used for block device in question. Default I/O priority is <tt>4</tt>. Examples of using:
+
The I/O priorities feature is implemented in OpenVZ since kernel <tt>2.6.18-028stable021</tt>, <tt>vzctl 3.0.16</tt>. This feature allows to assign I/O priority to any [[VE]]. Priority range is <tt>0-7</tt>. The more priority a [[VE]] has, the more time for using block devices this [[VE]] will obtain. Note, that this feature is implemented on base of CFQ I/O scheduler, so this scheduler should be used for block device in question. Default I/O priority is <tt>4</tt>. Examples of using:
 
<pre>
 
<pre>
 
vzctl set 101 --ioprio 0 --save
 
vzctl set 101 --ioprio 0 --save
Line 7: Line 7:
 
</pre>
 
</pre>
 
The mapping from priority to time is the following: if <tt>0</tt> prio corresponds time slice <tt>t</tt>, than <tt>8</tt> prio corresponds to time slice <tt>2 * t</tt>. Default time slice value is <tt>HZ/2</tt>. The main criteria for fairness at the moment is that if you set I/O prio of VE 1 to <tt>p1</tt> and I/O prio of VE 2 to <tt>p2</tt>, and <tt>p1 > p2</tt> then VE 1 should do more I/O than VE 2.
 
The mapping from priority to time is the following: if <tt>0</tt> prio corresponds time slice <tt>t</tt>, than <tt>8</tt> prio corresponds to time slice <tt>2 * t</tt>. Default time slice value is <tt>HZ/2</tt>. The main criteria for fairness at the moment is that if you set I/O prio of VE 1 to <tt>p1</tt> and I/O prio of VE 2 to <tt>p2</tt>, and <tt>p1 > p2</tt> then VE 1 should do more I/O than VE 2.
 +
 +
[[Category: Resource management]]

Revision as of 06:37, 24 January 2008

The I/O priorities feature is implemented in OpenVZ since kernel 2.6.18-028stable021, vzctl 3.0.16. This feature allows to assign I/O priority to any VE. Priority range is 0-7. The more priority a VE has, the more time for using block devices this VE will obtain. Note, that this feature is implemented on base of CFQ I/O scheduler, so this scheduler should be used for block device in question. Default I/O priority is 4. Examples of using:

vzctl set 101 --ioprio 0 --save
vzctl set 101 --ioprio 7 --save

The mapping from priority to time is the following: if 0 prio corresponds time slice t, than 8 prio corresponds to time slice 2 * t. Default time slice value is HZ/2. The main criteria for fairness at the moment is that if you set I/O prio of VE 1 to p1 and I/O prio of VE 2 to p2, and p1 > p2 then VE 1 should do more I/O than VE 2.