|
VMware ESX Server 2.1
Features | Documentation | Knowledge Base | Discussion Forums Before deploying all your virtual machines, we suggest that you create a list of all the virtual machines you plan to run on ESX Server. For each virtual machine, identify its primary functions and applications. Based on its primary function, determine its limiting resources. For example, a Web server's most limiting resource may be memory, while a terminal services server's most limiting resource may be CPU. Similarly, a database server's most limiting resource may be disk bandwidth. In this section, we provide some general guidelines on improving performance on `VMware ESX Server. However, some of these guidelines may not be appropriate for you, depending on your particular workplace situation. Note: Determine which virtual machines are more important and which ones will benefit more from additional resources. You should not need to optimize each resource for each virtual machine. For example, you may want to give more memory shares and a higher memory minimum to a virtual machine Web server for Platinum customers, compared to a virtual machine Web server for Silver customers or for an internal Web server. Note: If you run several virtual machines with similar guest operating systems on ESX Server, then likely, you will be able to have a higher overcommitment of memory, without noticing a performance degradation in ESX Server. In general, similar guest operating systems enable greater memory sharing in virtual machines. See Sharing Memory Across Virtual Machines. If performance seems slow, first determine whether this slow performance applies to all virtual machines on an ESX Server, or to just one virtual machine. If you notice slow performance on all your virtual machines, then examine CPU usage. Check and see how much idle time each processor has. Also, check overall system CPU utilization through the VMware Management Interface. If the processors are not taxed, and total system CPU utilization is under 80%, then the problem is probably not CPU usage. If CPU resources are not the problem, then check if the VMkernel is swapping out memory. Check the output of /proc/vmware/sched/mem from the procfs interface in the service console. For more information, see Service Console Commands. If the problem is VMkernel swapping, then check and make sure VMware Tools is installed. Place the swap file in a different physical drive than the virtual disks. You may also consider adding more physical memory to the server, or possibly migrating some virtual machines onto another ESX Server. If slow performance is isolated on just a few virtual machines, then you should first check their resource utilization before examining the service console. Determine if the guest operating system is doing a lot of paging (swapping).
If a virtual machine is paging a lot, then increase the minimum memory so that excessive paging is eliminated. If you're close to the maximum memory size, then also increase that resource setting. If the problem is with CPU resources, then increase the CPU minimum of the service console and see if that solves the problem. You can also improve performance by not connecting unnecessarily through the remote console. For example, unless you are performing an action in a virtual machine, close the remote console. Having a remote console window open, without any activity, still uses CPU resources in the service console. To optimize performance, you can use other third-party software, such as Virtual Network Computing (VNC) viewer or Microsoft Terminal Services to connect to your virtual machine, without consuming CPU resources in the service console. |