我们刚刚为我们的开发部门购买了一台新服务器。 它有32GB的内存。 我决定安装Server 2008 R2,而不是Hyper-V R2,主要是因为如果这个服务器曾经被要求执行其他任务,我想要一个完整的操作系统。
主机操作系统知道使用多less内存? 作为操作系统是64位,它可以使用所有32GB,如果它想。 但是,一旦我分配,并实际上启动一个虚拟机说,10GB的内存,主机现在知道它只有22GB的使用? 我假设它将使用所有可用的,取决于虚拟机正在使用什么,并调整自己相应的虚拟机是上下调整?
对于大多数VMpipe理解决scheme,我认为这包括Hyper-V,内存将立即分配,以便主机知道它不能用于其他任何东西。
它可能只能从虚拟池中分配,一旦首次使用页面,就从真实RAM中分配,所以你可能不会看到从可用RAM中立即删除了10Gb。 这意味着操作系统可以像磁盘caching一样使用内存,直到虚拟机真的需要它为止。
MS 在这里有一篇不错的文章。 我通常为父分区保留2 GB,然后每个虚拟机或虚拟RAM数量增加。
根据这篇文章:
“每个虚拟机的内存开销的一个很好的标准是,对于第一个1 GB的虚拟RAM,再加上另外的8 MB,每个额外的GB虚拟RAM需要32 MB,这应该在计算物理主机上有多less虚拟机服务器,内存开销取决于分配给每个虚拟机的实际负载和内存量“。