我已经用VBox设置了Linux虚拟机,并且主机操作系统是Windows。我想了解RAM如何在虚拟机上运行。
简而言之,主机是将访客视为单个应用程序,还是访客系统直接将其需求分配给硬件?我没有学习计算机科学或其他专业,因此我认为该问题如下:
第一:RAM的分配始终在主机操作系统的最终控制之下。
除此之外,还取决于。
使用简单的虚拟机管理程序,您只需告诉虚拟机管理程序每个VM可获得多少RAM,虚拟机启动时将从主机系统上的可用RAM中扣除该数量,并且只要虚拟机正在运行,虚拟机管理程序便会“使用”该数量。在VM中运行的OS像往常一样将RAM分配给进程和OS使用。可以在Windows 7中广泛用于运行“ XP模式”的旧Microsoft“虚拟PC”以这种方式工作。VirtualBox也可以。在这两种情况下,如果为VM配置1 GB RAM并启动它,则主机突然会少“可用” RAM 1 GB。它在使用RAM方面通常效率不是很高,但是实现起来很简单。
对于更复杂的虚拟机管理程序,您分配给虚拟机的数量仅仅是一个上限。来宾OS认为有太多的RAM是“总计”,但在幕后,就主机而言,来宾认为的部分甚至大部分RAM可能是虚拟的。Windows在来宾系统中所谓的“免费”或“归零” RAM尤其如此-由于它没有令人感兴趣的内容,因此无需将其存储在任何地方。但是,即使访客认为“正在使用”的RAM也可以在主机中虚拟化,其内容在页面文件或映射文件中。
来宾OS会像往常一样继续处理RAM,但是如果来宾OS引用了一些尚未真正存在的RAM,则虚拟机管理程序可以为来宾分配更多的实际RAM。(换句话说,在guest虚拟机中似乎没有页面错误的内存引用可能会在主机中引起页面错误。)在总可用RAM和配置的限制内,虚拟机管理程序会调整“ in”内存中的RAM数量。来宾OS尝试将其在主机中的页面错误率保持在较低水平。
这通常称为“精简配置”。在虚拟机管理程序中实现起来更加复杂,但是可以更有效地使用主机的RAM。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句