VirtualBox 中的暂停和保存状态有什么区别

fir*_*ush 8 virtualbox

手册中的目录在此处没有提及“暂停”或“保存”机器状态:https : //www.virtualbox.org/manual/UserManual.html

我不确定在这些文档中的何处挖掘它,而且我的 google-foo 似乎太弱,无法在网上找到这些东西的详细信息。

有人可以向我解释以下之间的区别吗:

  • 暂停来宾虚拟机
  • 保存虚拟机状态

如果我保存状态,似乎它的运行状态(它的内存)被写入磁盘,以便以后可以恢复。我在关闭笔记本电脑主机的电源时执行此操作,并且在保存后我能够可靠地重新启动来宾。我可以暂停客人吗?似乎比保存状态更快完成?

小智 9

有关详细信息,请查看您链接的手册的第 8.13 节

VBoxManage controlvm <vm> pause暂时搁置虚拟机,不永久更改其状态。VM 窗口将被绘制为灰色以指示 VM 当前已暂停。(这相当于在 GUI 的“机器”菜单中选择“暂停”项)。

...

VBoxManage controlvm <vm> savestate将 VM 的当前状态保存到磁盘,然后停止 VM。(这相当于在GUI的“机器”菜单中选择“关闭”项或按窗口的关闭按钮,然后在对话框中选择“保存机器状态”。)

此外,您可能会发现用户手册的PDF 版本(例如,对于v5.2.18比分页的 HTML 版本更易于搜索。


暂停 VM 就像将未保存文件的窗口最小化以备后用,而保存 VM 的状态就像将文件的副本写入磁盘并关闭程序。

虽然最小化的窗口仅使用象征性的屏幕空间,并且在恢复之前无法与之交互,但负责它的程序仍然在后台占用系统资源。当然,您仍然可以与其他尚未最小化的窗口进行交互。

同样,理想情况下,暂停的 VM使用的处理能力可以忽略不计,在恢复之前保持无响应,并且仍然消耗内存。其他未暂停的 VM 仍将保持交互。您也可以将 VM 视为暂停SIGSTOPUnix 进程。

最小化窗口以释放屏幕空间或暂停来宾操作系统的执行以释放处理能力的好处是两者都是临时回收资源的快速方法,但两者的缺点是未保存的工作或来宾状态如果系统或主机操作系统出现故障,将会丢失。如果是后者,来宾操作系统可能会损坏。


另一方面,在程序将其文件保存到持久存储并退出后,该文件现在将在重新启动后保持完整,并且该程序现在使用零 CPU 和内存资源。

类似地,当虚拟机保存状态并退出时,基本上会发生相同的事情,即状态写入存储并释放 VM 使用的活动资源。在这种情况下,正在保存的虚拟机中来宾的状态可以被认为是曾经在内存中现在写入磁盘的修改过的文档。

将文件保存到磁盘并关闭程序或保存 VM 状态的优点是,两者都允许数据在系统或主机崩溃时幸存下来,但这两种情况的缺点是重新打开程序比恢复正在运行的程序慢最小化窗口,就像从磁盘重新加载 VM 的状态一样,而不是在已加载到内存中时恢复其执行。


Kel*_*ari 5

保存虚拟机会将虚拟机的整个状态写入磁盘。正如您提到的,这允许您在重新启动后恢复。

暂停时无法执行此操作。暂停虚拟机只不过是停止其执行。CPU 停止运行命令,对内存和磁盘的读写也停止。然而,VM内存的所有内容都在主机内存中。使用暂停的虚拟机重新启动主机与在正在运行的计算机上按下重置按钮没有什么不同。您面临丢失数据或更多数据的风险。

没有太多理由暂停虚拟机,除非您试图暂时释放 CPU 来执行其他任务。您可以在某种测试之前暂停虚拟机,以便准备好观察结果。我想暂停虚拟机还有其他原因,但我想不出好的原因。

最后,如果您需要重新启动,您应该保存虚拟机状态,或者正确关闭它。