内存使用率

XenServer 主机的内存占用由两部分构成。首先,是 Xen 虚拟机管理程序本身占用的内存。其次,是主机的控制域占用的内存。控制域也称为“Domain0”或“dom0”,是一个运行 XenServer 管理 Toolstack (XAPI) 的享有特权的安全 Linux VM。除了提供 XenServer 管理功能之外,控制域还运行驱动程序堆栈,提供对物理设备的用户创建 VM 访问。

控制域内存

分配给控制域的内存量可以自动调整,并且基于物理主机上的物理内存量:

主机内存 (GB) 已分配的控制域内存 (MB)
20–24 752
24–48 2048
48–64 3072
64–1024 4096

注意:

在 XenCenter 的 XenServer 部分中报告的内存量包括由控制域 (dom0)、Xen 虚拟机管理程序本身和崩溃内核占用的内存量。因此,在 XenCenter 中报告的内存量可能会超过这些值。对于使用更多内存的主机来说,虚拟机管理程序占用的内存量更大。

更改分配给控制域的内存量

您可以在内存较小的主机(小于 16 GB)上将分配给控制域的内存减少到小于默认值 752 MB。但是,Citrix 建议您不要将 dom0 内存减少到 400 MB 以下

  1. 在 XenServer 主机上,打开本地 shell,以 root 用户身份登录。

  2. 键入以下命令:

    /opt/xensource/libexec/xen-cmdline --set-xen dom0_mem=<nn>M,max:<nn>M
    

    其中 <nn> 代表要分配给 dom0 的内存量(以 MB 为单位)。

  3. 在 xsconsole 上使用 XenCenter 或 reboot 命令重新启动 XenServer 主机。

    当该主机重新启动时,在 xsconsole 上,运行 free 命令以验证新的内存设置。

警告:

增加分配给控制域的内存量将导致 VM 的可用内存减少。

您可以将分配给控制域的内存量增加到超过控制域内存表中所示的容量。但是,必须在 Citrix 技术支持的指导下执行此操作。

VM 的可用内存量有多少?

要了解可分配给 VM 的主机内存量,请运行 memory-free 以获取主机的可用内存值。然后键入命令 vm-compute-maximum-memory 以获取可分配给 VM 的实际可用内存量。例如:

xe host-list uuid=host_uuid params=memory-free
xe vm-compute-maximum-memory vm=vm_name total=host_memory_free_value
Version

内存使用率