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