Red Hat Training

A Red Hat training course is available for Red Hat Enterprise Linux

20.7. Memory tuning


<domain>
  ...
  <memtune>
    <hard_limit unit='G'>1</hard_limit>
    <soft_limit unit='M'>128</soft_limit>
    <swap_hard_limit unit='G'>2</swap_hard_limit>
    <min_guarantee unit='bytes'>67108864</min_guarantee>
  </memtune>
  ...
</domain>

Figure 20.9. Memory Tuning

Although all are optional, the components of this section of the domain XML are as follows:

Table 20.6. Memory tuning elements

ElementDescription
<memtune>Provides details regarding the memory tunable parameters for the domain. If this is omitted, it defaults to the OS provided defaults. The parameters are applied to the process as a whole therefore when setting limits, one needs to add up guest virtual machine RAM, guest virtual machine video RAM, and allow for some memory overhead. The last piece is hard to determine so one use trial and error. For each tunable, it is possible to designate which unit the number is in on input, using the same values as for <memory>. For backwards compatibility, output is always in KiB.
<hard_limit>This is the maximum memory the guest virtual machine can use. The unit for this value is expressed in kibibytes (blocks of 1024 bytes)
<soft_limit>This is the memory limit to enforce during memory contention. The unit for this value is expressed in kibibytes (blocks of 1024 bytes)
<swap_hard_limit>This is the maximum memory plus swap the guest virtual machine can use. The unit for this value is expressed in kibibytes (blocks of 1024 bytes). This has to be more than <hard_limit> value provided
<min_guarantee>This is the guaranteed minimum memory allocation for the guest virtual machine. The units for this value is expressed in kibibytes (blocks of 1024 bytes)