内存使用情况
有两个组件会占用Citrix Hypervisor服务器的内存。首先,Xen管理程序本身消耗的内存。其次,还有被消耗的内存控制域主人的。控制域也称为“Domain0”或“dom0”,是一个安全的特权Linux虚拟机,运行Citrix Hypervisor管理工具栈(XAPI)。控制域除了提供Citrix Hypervisor的管理功能外,还运行驱动程序堆栈,提供用户创建的虚拟机对物理设备的访问。
控制域存储器
系统会根据物理主机的物理内存量自动调整分配给控制域的内存量。默认情况下,Citrix Hypervisor分配1 GiB加上总物理内存的5%到控制域,初始最大值为8 GiB。
注意:
XenCenter中的Citrix Hypervisor部分报告的内存量包括控制域(dom0)、Xen Hypervisor本身和崩溃内核所使用的内存。因此,XenCenter中报告的内存量可能会超过这些值。对于使用更多内存的主机,管理程序使用的内存量会更大。
更改分配给控制域的内存量
可以通过使用XenCenter或使用命令行更改分配给dom0的内存量。如果在控制域内分配的内存超过默认分配的内存,将导致虚拟机可用的内存减少。
在以下情况下,可能需要增加分配给Citrix Hypervisor服务器控制域的内容量:
- 服务器上运行的虚拟机过多
- 您正在使用pvs加速器
- 您正在使用读缓存
分配给控制域的内存量取决于您的环境和vm的需求。
您可以监控以下指标,以判断控制域内存量是否适合您的环境,以及您所做的任何更改会产生什么影响:
- 交换活动:如果控制域处于交换状态,请增加控制域内存。
- Tapdisk模式:您可以在XenCenter中监视tapdisks是否处于低内存模式性能选项卡,用于服务器。选择行动>新的图然后选择低内存模式下Tapdisks图。如果tapdisk处于低内存模式,请增加控制域内存。
- Pagecache压力:使用
前
命令来监视浅黄色/缓存
指标。如果这个数字变得太低,您可能需要增加控制域内存。
使用XenCenter修改dom0内存
通过XenCenter修改dom0内存的详细信息请参见更改控制域内存在XenCenter文档中。
注意:
不能使用XenCenter将dom0内存减少到低于Citrix Hypervisor安装时初始设置的值。要进行此更改,必须使用命令行。
使用命令行修改dom0内存
注意:
在内存较小(小于16 GiB)的主机上,您可能希望将分配给Control Domain的内存减少到低于安装默认值。您可以使用命令行进行此更改。但是,我们建议您不减少dom0内存低于1gib并且您在支持团队的指导下进行此操作。
在Citrix Hypervisor服务器上,打开本地shell并以root用户登录。
输入以下内容:
/opt/xensource/libexec/xen-cmdline——set-xen dom0_mem=
M,max: M 在哪里
< nn >
表示要分配给dom0的内存量,以MiB为单位。重新启动Citrix Hypervisor服务器
重新启动
命令在Citrix Hypervisor控制台中执行。主机重启后,在Citrix Hypervisor控制台中运行
免费的
命令来验证新的内存设置。
虚拟机有多少内存可用?
通过运行命令查找主机的空闲内存值,可以了解可供分配给虚拟机使用的主机内存容量空闲内存
.然后输入以下命令vm-compute-maximum-memory
以获取可分配给虚拟机的实际可用内存量。例如:
Xe vm-compute-maximum-memory vm=vm_name total=host_memory_free_value