内存使用: 主机操作系统和虚拟机

来源:互联网 发布:kindle 选择 知乎 编辑:程序博客网 时间:2024/04/30 00:14

VMware Workstation 以下列方式分配内存给虚拟机:

  • 一个特定数量的内存,称为 保留内存,从物理机器上的总可用内存页面池中被设置。在下面的 保留内存 中说明这一点。
  • 每一台虚拟机被配置为使用一定数量的保留内存。在下面的 每台虚拟机的内存 中说明这一点。

此外,在你打开一台虚拟机之后,VMware Workstation 检查确认是否有足够的可用内存运行该虚拟机。查看下面的 内存限制(检查)

保留内存

要提供良好的整体系统性能,VMware Workstation 基于可用的 保留内存 的数量限制一次可以运行多少台虚拟机。通过这样做,VMware Workstation 防止虚拟机由于相互影响导致执行缓慢。VMware Workstation 允许一个可接受数量的虚拟机同时运行,确保它们协同工作以管理保留内存。

如果所有保留内存正在由一台或者多台虚拟机使用,主机操作系统不能使用该内存用作任何其他目的。只有在确定一台虚拟机需要内存以拥有合理的性能时,VMware Workstation 才会使用保留内存。即使在同一时间正在运行多台虚拟机,VMware Workstation 可能也只使用保留内存的一小部分,因而允许任何未使用的保留内存由运行在主机上的其他应用程序使用。

保留内存的默认数量在你安装 VMware Workstation 的时候进行计算,但是你可你在 设置 -> 参数选择 -> 内存 配置屏幕中更改保留内存的数量。

 

警告: 只建议高级用户更改保留内存的数量,因为这可能在主机或者虚拟机的性能方面造成不利的影响。
  • 如果其他应用程序正在竞争主机上的内存,选择保留太多的物理内存可能导致主机性能不稳定,甚至当机。
  • 选择保留太少的物理内存可能导致虚拟机执行非常缓慢,并且也限制可以运行的虚拟机的数量。这是因为,如果空闲内存降到低于一个最小值(对于每一台主机是一个特定值),主机操作系统通过交换到磁盘连续地释放内存以维持该数量的空闲内存。这种行为也导致虚拟机运行缓慢。

VMware Workstation 计算保留内存通过:

  • 查找安装在机器中的物理内存的数量
  • 减去主机操作系统需要的默认数量(参阅: 默认主机要求)

下表显示 VMware Workstation 在计算保留内存时使用的默认主机要求。

主机

主机内存

主机默认要求

Linux

小于 384MB

32MB

Linux

小于 512MB

64MB

Linux

512MB 或更大

96MB

Windows

小于 384MB

64MB

Windows

小于 512MB

96MB

Windows

512MB - 1024MB

128MB

Windows

1024MB 或更大

0MB

例如,如果你的主机操作系统是 Microsoft Windows 的一个版本,并且你的主机拥有 256MB 内存,VMware Workstation 为你的所有虚拟机保留 192MB 内存。

在一台虚拟机引导时,VMware Workstation 检查确认是否有足够的可用保留内存启动虚拟机。在下面的 内存限制(检查) 中说明这一点。

每台虚拟机的内存

VMware Workstation 为一台给定的虚拟机分配一个特定数量的可用保留内存。在你创建一台新的虚拟机时,VMware Workstation 选择分配一个默认的内存数量,根据是:

  • 保留内存的数量
  • 你准备安装的客户操作系统的类型
  • 一个小的开销

由一台虚拟机使用的开销内存的数量取决于主机上的 RAM。对于使用 256MB 或更大 RAM 的主机,每一台虚拟机的内存开销是 16MB。对于使用小于 256MB RAM 的主机,每台虚拟机的开销值是 0MB。由一台特定虚拟机实际使用的保留内存的数量在一台虚拟机运行时动态变化。

你可以在创建一台新的虚拟机时,也可以在以后更改分配给该虚拟机的默认内存数量。如果你启用了内存限制(检查),分配给虚拟机的内存不能大于保留内存减去开销。如果内存限制被禁用,你可以分配任意数量的内存给虚拟机,尽管你也许不能引导和运行虚拟机(或者,它会反过来影响主机和其他虚拟机的性能)。

内存限制(检查)

默认情况下,一台虚拟机检查是否有足够的空闲内存保留给主机以继续有效地操作:

  • 首先,它在开机时执行一个检查,确保分配给所有正在运行的虚拟机的总内存数量不超过主机上总的物理内存。
  • 其次,虚拟机定期检查分配给当前正在运行的虚拟机的保留内存不超过保留内存的总数量。

如果这些检查失败,虚拟机中止。你可以 禁用内存检查,但是记住,如果在你的主机系统中使用太多(或者太少)内存的情况下尝试运行一台虚拟机,禁用这些检查的任何一个可能导致性能下降甚至系统崩溃。

配置分配给一台虚拟机的内存

可以分配给使用 VMware Workstation 3.2 创建的单台虚拟机的内存的最大数量是 1GB(1024MB)。

分配给使用 VMware Workstation 创建的一台新的虚拟机的内存的默认数量取决于:

  • 为虚拟机配置的客户操作系统
  • 主机操作系统(Windows 或 Linux)
  • 安装在主机上的物理内存的数量
  • 在 设置 -> 参数选择 -> 内存 配置屏幕中设置的适用于所有虚拟机的内存限制(作为保留内存被提及)

有关 VMware Workstation 如何选择分配给虚拟机的默认内存数量的更多信息,参看 内存使用:主机操作系统和虚拟机

根据你正在虚拟机中运行的应用程序的种类,与这台虚拟机连接的需要内存资源的其他虚拟机以及你正在主机操作系统中运行的应用程序,你可能想要更改分配给这台虚拟机的内存的数量。你可以在 配置编辑器 中更改内存大小。

要为一台虚拟机配置内存:

  1. 选择 文件 -> 打开,打开你想要修改的虚拟机配置文件(.vmx)。
  2. 选择 设置 -> 配置编辑器。
  3. 单击“硬件”选项卡。
  4. 从设备列表中选择内存。
  5. 在客户系统大小(MB)字段中,输入你想要分配给这台虚拟机的总内存(MB)。
    注释: 内存大小限制为 4MB 的整数倍。
  6. 单击“确定”。

如果你关闭内存限制检查框,你可以超过这个限制,详见 为所有虚拟机禁用内存检查。然而,只有当你正在创建一台准备在另一台拥有更多内存的主机上使用的虚拟机,或者你知道由虚拟机中的客户操作系统和应用程序使用的实际内存时,才应该超出内存限制。

警告: 选择内存大小时,小心不要分配太多的内存给一台虚拟机,因为这会反过来影响主机包括其他虚拟机上的其他应用程序的性能。要获得最佳性能,只分配与在内存配置屏幕中建议的同样多的内存。特别地,当主机操作系统运行时空闲内存较低时,它不会运行得很流畅。

设置分配给虚拟机的最大内存

警告: 在调整分配给所有正在运行的虚拟机的最大内存之前,回顾 内存使用:主机操作系统和虚拟机 中的信息。

在某些情况下,你可能想要指派一个不同的内存数量保留给所有正在运行的虚拟机。例如,你可能想要通过减少保留给虚拟机的内存数量改善主机操作系统的性能。

警告: 只有高级用户可以更改分配给虚拟机的内存数量,因为这样做可能会在主机或者虚拟机上造成不利的影响。如果在主机上正在运行其他应用程序,选择保留太高数量的物理内存可能导致主机操作系统不稳定或者挂起。选择保留太低数量的物理内存可能导致虚拟机执行非常不流畅,并且也限制可以运行在主机上的虚拟机的数量。

要设置分配给所有虚拟机的最大内存:

  1. 从 VMware Workstation 窗口中选择 设置 -> 参数选择。
  2. 单击“内存”选项卡。
  3. 在保留大小(MB)字段中设置最大内存。
  4. 单击“确定”。
原创粉丝点击