Red Hat Training

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

8.4. 客户机虚拟机内存分配

以下流程演示了如何为客户机虚拟机分配内存。这个分配和分配只在启动时自动启动,对任何内存值的任何更改都不会在下一次重启时生效。每个客户机可以分配的最大内存为 4 TiB,提供此内存分配不多于主机物理机器资源可以提供的。
有效的内存单元包括:
  • b bytes 用于字节
  • KB 对于千字节(103 或块 1000 字节)
  • kKiB 用于 kibibytes(210 或块 1024 字节)
  • MB 兆字节(10 个6 或块 1,000,000 字节)
  • M 或者 MiB 用于兆字节(220 或块 1,048,576 字节)
  • GB 千兆字节(109 或块 1,000,000,000 字节)
  • GGiB 用于千兆字节(230 或块为 1,073,741,824 字节)
  • TB 太字节(1012 或块 1,000,000,000 字节)
  • T 或者 TiB 用于 tebibytes(240 或块 1,099,511,627,776 字节)
请注意,所有值将被 libvirt 舍入到最接近的基位字节,并可进一步舍入为管理程序支持的粒度。有些虚拟机监控程序还至少强制实施,如 4000KiB(或 4000 x 210 或 4,096,000 字节)。这个值的单位由可选属性 memory unit 决定,它默认为 kibibytes(KiB)作为测量结果单位,其中给出的值乘以 210 或 1024 字节的块。
如果客户机虚拟机崩溃的可选属性 dumpCore,则可用来控制客户机虚拟机的内存是否应该包含在生成的 coredump(dumpCore='on')中,或者不包含(dumpCore='off')。请注意,默认设置为 on,因此如果参数没有设置为 off,则客户机虚拟机内存将包含在 coredump 文件中。
currentMemory 属性决定客户机虚拟机的实际内存分配。这个值可能小于最大分配量,允许即时对客户机虚拟机内存进行膨胀。如果省略此项,则默认为与 memory 元素相同的值。unit 属性的行为与内存的行为相同。
在本节的所有情况下,需要更改域 XML,如下所示:
<domain>

  <memory unit='KiB' dumpCore='off'>524288</memory>
  <!-- changes the memory unit to KiB and does not allow the guest virtual machine's memory to be included in the generated coredump file -->
  <currentMemory unit='KiB'>524288</currentMemory>
  <!-- makes the current memory unit 524288 KiB -->
  ...
</domain>