我有一台 Linux rhel xen 主机,它将运行许多 32 位客户机。(客户机必须是 32 位)。该服务器有 48gb 的 RAM,目前它运行一个 xen 内核,但这在 dom0 上只能看到 16gb 的 RAM。
有没有办法避免这个问题?每个客人只需要 256-512mb
不抱太大希望,但任何建议都很好。
答案1
这里的技巧是 Xen 虚拟机管理程序的位数以及 dom0 内核和其他客户的位数可以不同。
您可以运行 64 位虚拟机管理程序并拥有 32 位 dom0 和客户机。
还要注意的是,dom0 不管理内存,而是由虚拟机管理程序 Xen 管理。
在您的 dom0 中,您只能看到 Xen 分配给 dom0 的内存。Xen 虚拟机管理程序(只要是 64 位(甚至 32 位 pae 也可以))可以处理更大的内存量。top 将显示 dom0 的内存,这是您检查的内容,但 xm top(或 xentop)将显示 Xen 知道的内存量。检查 xm top(xentop)并查看 Xen 是否知道所有内存。如果不知道,您应该能够安装 64 位版本的 xen 虚拟机管理程序(这与 dom0 内核并没有什么不同,它仍然可以是 32 位 - 实际上出于性能原因建议使用 32 位 - 请参阅http://www.slideshare.net/xen_com_mgr/6-stefano-spvhvm
答案2
根据 http://www.redhat.com/rhel/compare/
[3] “SMP”内核支持最大 16GB 的主内存。主内存超过 16GB 的系统使用“Hugemem”内核。在某些工作负载情况下,在主内存超过 12GB 的系统上使用“Hugemem”内核可能会更有优势。
[4] Red Hat Enterprise Linux 5 或 6 不提供 x86“Hugemem”内核。