目前有很多方法可以改善VMware Linux虚拟机的性能,包括对虚拟硬件进行调整,以及更改默认的软件配置设置。
虽然在VMware管理程序上安装Linux虚拟机很容易,但是默认的、开箱即用的配置并不能充分发挥虚拟机的潜在的最大性能。不过,有一些办法可以对其进行优化。
虚拟硬件
首要需要考虑的是虚拟硬件。VMware产品的每一个新版本都带来了新的虚拟硬件版本,你应该尽可能使用最新的硬件版本,因为和大多数OS一样,补丁和性能改进是增量地添加的。
半虚拟化硬件
半虚拟化硬件本质上是一个硬件的软件实现。例如,网络控制器VMXNET 3完全是半虚拟化的,它直接与硬件进行对话,从而提供更好的性能,绕过了虚拟化层,降低了性能损耗。你还可以对SCSI控制器进行半虚拟化。
▲自定义虚拟硬件规范
半虚拟化硬件带来了显著的性能提升,因此这个办法可以一用。但是,有些比较老的Linux平台不支持半虚拟化硬件,应根据自身情况进行选择。
未使用硬件
管理员经常会忘记的一件事就是未使用的硬件。默认情况下,Linux虚拟机使用的是你可能永远都不会使用的硬件,比如软盘驱动器、CD-ROM和声卡。
大多数大型环境会自动删除软盘驱动器。诚然,它不会在较小的区间中释放大量的RAM,但在中等规模的区间中,这可以省去相当数量的内存资源。
您还应该删除这些无关的硬件,作为物理-虚拟清理的一部分。被清理干净的虚拟机通常会表现得更好。
默认设置
当你构建一个虚拟机时,最好不要使用VMware的默认设置,因为这些设置非常保守。我建议查看供应商文档,以了解合理的默认设置。更好的是,开发一个提供小、中、大选项的服务,这样它就可以为每个参与者提供一致性。然后,选择正确的大小。在磁盘大小方面,这一点尤为重要,因为它很难扩展引导卷。
安装GUI
还有其他一些组件可以进行调整以提高性能,一些Linux供应商比其他厂商做得更好。要考虑的最重要的项目是运行级别。RedHat和CentOS默认安装了GUI。我建议您避免安装GUI,除非它是绝对必要的。如果不安装GUI,则使用较少的CPU和RAM,并且管理的应用程序更少。这可以节省大量的资源。但是,一些服务器可能需要一个特定应用程序的GUI。如果您的Linux虚拟机已经安装了GUI,可能就需要关闭GUI使用的系统。使用下面的命令将系统引导到网络命令行:
systemctl set-default multi.user
如果管理员不能没有GUI,重复这个过程,并使用如下所示的命令:
Systemctl set-default graphical.target
还可以通过键入init 5来启动GUI。这将在该会话期间加载GUI。
Open-VM-Tools与VMware工具
传统上,管理员需要做的第一件事就是安装VMware工具,但是最近,大多数供应商已经转向了开放的虚拟机工具(OVT),这是一个VMware工具的开源版本。
大多数Linux供应商,包括Red Hat和Canonical,都将OVT作为默认的Linux安装的一部分。如果安装了OVT,请确保它没有被VMware工具覆盖。如果您确实在OVT上安装了VMware工具,那么OS供应商可能会考虑一个不支持的配置。
系统时间
管理员常常忽略系统时间。默认情况下,时间是从系统管理程序中获取的。多年来,系统时间最佳习惯做法已经发生了变化,但目前的最佳办法是确保Linux 虚拟机和主机都能直接与网络上的网络时间协议(NTP)主机同步。如果所有的网络设备都使用相同的NTP服务器,那么所有的服务器都将是同步的。正确的系统时间对于运行有效的网络是至关重要的。
内存管理
运行Java的Linux 虚拟机有一个已知的内存管理问题,它会严重影响性能。根据客户Java中的VMware气球驱动程序的分配和重新声明内存的方式,性能将是次优的。
VMware工具或OVT驱动程序试图回收未使用的内存,但是Java希望使用它最初分配的内存。为了避免这个问题,请预先分配虚拟机的内存。这可能违背了让VMware管理分配给VM的内存的传统认知,但是实现最优的Java虚拟机性能是必要的。
磁盘配置
最后,看看磁盘配置。在虚拟环境中,磁盘扩展易于管理,但最佳办法是将系统磁盘与数据磁盘分离。
本文转自d1net(转载)