虚拟机是否需要交换分区?

时间:2015-02-05 09:43:34

标签: virtual-machine virtualbox swapfile

我在物理机器上运行Ubuntu;和VirtualBox在顶部运行各种虚拟的。

大部分时间,我正在做"直接前进"装置;但今天我想成为" smart"并检查了fedora或ubuntu安装程序将在我的虚拟磁盘上创建的分区。

当然,在使用默认值时,我的虚拟磁盘的一些GB将被用作"交换空间"。

现在我想知道:假设我有足够的物理内存(所以我可以为VM分配6或8 GB) - 在虚拟机的专用交换空间中是否有任何意义?

3 个答案:

答案 0 :(得分:6)

这是answered at ServerFault

TL; DR:使用swap:1。避免内存不足错误,2。客户操作系统更好地进行内存管理

  

忽略人们处理操作系统特定原因的事实我   有两个原因,为什么不用交换运行是个坏主意   分区/文件。

     
      
  1. 如果您有1.5 GB的RAM分配给没有空间文件/分区的VM,并且它想要使用1.5 GB + 1 MB,它将报告一个   内存错误。使用交换空间,它将能够交换数据   活动内存并进入磁盘。

  2.   
  3. 来宾操作系统在内存管理方面做得比主机好得多。这就是为什么像存储器气球这样的技术存在的原因   主持人可以对现在不需要的内存做出有根据的猜测   但客人知道更智能的水平(这可以保持操作系统   被换掉的记忆可能会破坏你的表现。)

  4.   

答案 1 :(得分:3)

交换分区用于在空间不足时释放物理内存。在具有大量内存的现代机器中,它取决于您将运行的应用程序的类型。如果您计划运行像视频编辑器,高端游戏或类似内存这样的内存密集型程序,虚拟内存或交换空间是一种资产。但如果情况并非如此,那么只要您有足够的内存,就可以安全地避免交换空间。但是有一个后备是安全的。

答案 2 :(得分:2)

这取决于您在主机系统上运行的程序以及虚拟机,或者您在虚拟机中运行的程序。

软件可以使用的内存的唯一上限是可用的总内存(物理或虚拟)。有许多程序在正常运行时需要大量内存,并且有很多情况导致程序消耗大量内存(例如加载输入文件)。还有很多错误的程序无意中消耗了大量内存。

您通常可以通过检查所运行程序的要求或建议(例如内存和驱动器空间)来获得一个想法。如果做不到的话,试一试。