7.2. 过量使用内存
在 KVM 管理程序中运行的客户机虚拟机没有专用的物理 RAM 块。相反,每个客户机虚拟机作为 Linux 进程的功能,其中的主机物理机器的 Linux 内核仅在请求时分配内存。此外,主机的内存管理器也可以在自己的物理内存和交换空间之间移动客户机虚拟机的内存。
过量使用要求在主机物理机器上分配足够的交换空间,以容纳所有客户机虚拟机,并为主机物理计算机的进程提供足够的内存。作为基本规则,主机物理计算机的操作系统最多需要 4 GB 内存,至少 4 GB 交换空间。有关为 swap 分区确定适当大小的高级说明,请查看红帽知识库。
重要
过量使用不是一般内存问题的理想解决方案。建议使用内存短缺的方法为每个客户机分配较少的内存,向主机添加更多物理内存,或使用 swap 空间。
如果虚拟机经常被交换,则虚拟机运行速度较慢。另外,过量使用会导致系统内存不足(OOM),这可能会导致 Linux 内核关闭重要的系统进程。如果您决定过量使用内存,请确定执行足够的测试。请联络红帽支持以获得过量使用的协助。
过量使用不可用于所有虚拟机,但发现在具有少量密集型使用情况的桌面虚拟化设置中工作,或使用 KSM 运行多个相同的虚拟机。有关 KSM 和过量使用的更多信息,请参阅 Red Hat Enterprise Linux 7 虚拟化调整和优化指南。
重要
设备分配不支持内存过量使用。这是因为,当使用 设备分配 时,所有虚拟机内存都必须静态分配才能启用具有分配设备的直接内存访问(DMA)。