我已经设置了一个 VMWare 实例来运行 CastIron 集成设备。我为实例分配了 2gb 的内存,假设它将作为物理内存(我的服务器总共有 8gb)。
然而,当我top
在服务器上查看时,vmware-vmx 进程有大约 100m 常驻内存和 1900m 虚拟内存。
运行 CastIron 报告该设备经常达到 50% 的内存使用率。这是否意味着我使用 900mb 的硬盘空间作为内存?我希望 VMWare 使用 2gb 的物理内存,没有交换。谁能告诉我如何实现这一目标?
安装
Debian Lenny 5.0.3
VMWare 服务器 2.0.2
除非您使用 ESX 并进行 VM 资源预留,否则您的 VM 将不会获得比正在使用的更多的物理内存,即如果您为 VM 提供 4GB 但只有 1GB 的地址,则只占用 1GB 的物理内存。
我不确定 50% 的数字来自哪里,但如果该 VM 的 vmware-vmx 进程仅使用 100MB,那么这就是所有正在使用的空间。
基本上不用担心 :)
首先,vmware总是创建交换。这是必需的。如果未设置预留,ESX 主机将创建一个 .vswp 文件,该文件等于分配给虚拟机的物理内存量与其所拥有的预留之间的差值。默认情况下,内存预留设置为 0。如果您有一个没有预留的 2GB 内存的虚拟机,它会在开机时创建一个 2GB 的 .vswp 文件。是否使用它取决于其他因素(主要是主机上有足够的空闲内存来支持客人的请求)。如果您为虚拟机预留的 RAM 数量等于分配给它们的 RAM 量,则不会发生交换和页面共享。
其次,您可以提供所需的 vm 水,但 vmware 只会报告来宾实际使用的内容。当您设置要分配多少内存的数字时,这是服务器将使用的最大内存量。
VMware Server 有一个设置来定义您是否希望所有 VM 内存都适合物理 RAM,或者允许交换其中的一些内存;它在主机设置中。
如果您的 RAM 比您使用的多,您可以安全地将其设置为仅使用 RAM;当然,如果没有足够的可用物理内存,您将无法启动更多虚拟机。
是的,这是真的。您需要从 VM 的属性中分配 RAM 使用量。确保关闭虚拟机。