虚拟机中的虚拟内存(VM 中的交换文件?)

Wal*_*enL 7 virtualization memory pagefile

关于虚拟机中允许虚拟内存有什么看法?

例如,一台带有 8 Gig 内存的主机,我可以运行 4 个虚拟机,每个带有 2 Gig(大约)并且不会有主机交换。但是,在每个 VM 中,我可以有一个 2Gig 的页面文件,因此虚拟服务器有 4Gig 的可用内存,2 个物理 2 个虚拟。

或者...我可以给每个 VM 4 Gig 的“内存”,让主机使用 8Gig 的实内存和 8G 的虚拟内存,并且每个 VM 中没有页面文件。每个 VM 仍将具有“4Gig”,但分页将发生在主机上。

我的热情模糊部分说在每个客人中设置分页就像你在一个真正的服务器上一样,你很好。但是我的分析方面认为过度使用主机内存和在 VM 中没有分页有两个主要优点。首先,虚拟内存的 IO 然后由主机操作系统处理,它更接近裸机,所以应该更快。其次,呼叫只会被要求,如果主机没有可用存储空间。如果客人想要 4Gig,但其他客人没有使用他们的内存,则不需要分页。

想法?

Dav*_*ney 5

我不是虚拟化专家(事实上,我认为大多数时候它是错误的工作工具),但从我读过的内容来看,您的来宾操作系统不应该被允许交换。阻止交换的主要原因是它代表了一种猜测操作系统占用主机 IO 带宽的一种方式。

此外,你不想假装你的猜测操作系统主机的物理内存比它多,因为它会导致主机大量交换,但是在猜测操作系统中调试性能问题将非常困难,因为从他们的角度来看从视图上看,它们没有交换,并且来宾中的任何操作系统级别工具都不会显示它。

甚至可能使用 Xen 和 VmWare 等工具,由于使用了气球内存驱动程序,您无法在主机操作系统上过度使用内存。