Home
ESX Server 2 - Architecture and Performance Implications
Contents
1. Performance issues can arise with the service console when interrupt lines for device controllers are shared between the service console and the VMkernel Ideally each controller has a dedicated interrupt line to the processor that raises an interrupt whenever the processor needs to take action for a device When an interrupt line is shared the processors cannot determine which controller is sending the interrupt so they have to execute the interrupt handlers for all the controllers that share the same interrupt line If a VMkernel device and a service console device share an interrupt calling the controller drivers in sequence results in context switches between the service console and the VMkernel every time there is an interrupt on that line This can significantly impact performance Note that devices that are marked as shared by ESX Server at install time are managed by the VMkernel so performance for those devices may not be affected Performance issues are more likely to arise when different devices share interrupts such as a USB controller on the service console sharing an interrupt with a VMkernel NIC or with a multiport NIC where some of the ports are managed by the VMkernel and other ports are managed by the service console We recommend disabling any unused devices such as floppy disk CD ROM and USB controllers on the system for best performance See KB article 1290 for information on how to diagnose and work around problems in these
2. Physical network and storage devices are presented as virtual devices to the virtual machines running on ESX Server Each storage device appears as a SCSI drive connected to a SCSI adapter within the virtual machine regardless of the specific SCSI RAID and Fibre Channel adapters that might actually be installed on the underlying server For example the server may be attached to a SAN Storage Area Network using a QLogic or Emulex HBA host bus adapter but the guest operating system sees it as a SCSI adapter ESX Server emulates either a BusLogic or an LSI Logic SCSI adapter so either a BusLogic or an LSI Logic driver gets loaded in the guest operating system The virtual machine s virtual disks are implemented as files on the underlying storage For network I O VMware emulates either an AMD Lance PCNet adapter or uses a custom interface called vmxnet For the Lance adapter the guest device driver is the AMD PCnet driver Architecture and Performance Implications tS vmware The vmxnet guest device driver is available as part of the VMware Tools and works with the corresponding emulated vmxnet networking adapter Applications System ca EE l NIC SCSI Driver Driver VMM T VMKemel er Service Console Network Stack Network Hardware Interface Layer Emulation lt x86 Hardware Figure 4 ESX Server I O path Figure 4 shows the ESX Server architecture from Figure 1 modified to illustrate the paths taken when the
3. accesses in the virtual machine to execute without adding address translation overhead once the shadow page tables are set up Since the translation look aside buffer on the processor will cache direct virtual to machine mappings Architecture and Performance Implications tS vmware read from the shadow page tables no additional overhead is added by the VMM to access the memory Figure 3 illustrates the ESX Server implementation of memory virtualization Virtual Machine 1 Virtual Machine 2 Guest Virtual Memory Guest Physical Memory vv 1 gt v Machine Memory Figure 3 ESX Server Memory Virtualization The boxes shown in the figure represent pages and the arrows show the different memory mappings The arrows from guest virtual memory to guest physical memory show the mapping maintained by the page tables in the guest operating system Note that the mapping from virtual memory to linear memory for x86 architecture processors is not shown in Figure 3 The arrows from guest physical memory to machine memory show the mapping maintained by the VMM The dashed arrows in the illustration show the mapping from guest virtual memory to machine memory in the shadow page tables also maintained by the VMM The underlying processor running the virtual machine uses the shadow page table mappings Because of the extra level of memory mapping introduced by virtualization ESX Server can efficiently manage memory across all virtual machin
4. and performance characteristics for each of these resource types CPU Virtualization Each virtual machine appears to run on a dedicated CPU or set of CPUs with each CPU having its own registers and control structures VMware uses the terms virtual CPU and physical CPU to distinguish between the processors within the virtual machine and the underlying physical x86 based processors respectively ESX Server 2 supports virtual machines with one or two virtual CPUs Virtual machines with more than one virtual CPUs are also called SMP symmetric multi processing virtual machines The virtual machine monitor VMM is responsible for virtualizing the CPUs When a virtual machine starts running control transfers to the VMM and it begins executing instructions from the virtual machine The transfer of control to the VMM involves setting the system state so that the VMM runs on the bare hardware Traditional mainframe based virtual machine monitors like those provided by the IBM System 370 ran a guest operating system directly on the underlying processor but at a reduced privilege level The VMM itself ran with supervisor privileges When the virtual machine attempted to execute a privileged instruction the CPU would trap or redirect control into the virtual machine monitor The virtual machine monitor would then emulate the privileged operation in the virtual machine state The traditional trap and emulate approach is not sufficient however for cur
5. full the data for virtual pages that are not present in physical memory are stored on disk The x86 architecture has an additional mapping from virtual memory to linear memory via segmentation which is not described here On native systems page tables translate virtual memory addresses into physical memory addresses Within a virtual machine the guest operating system s page tables maintain the mapping from guest virtual pages to guest physical pages ESX Server virtualizes guest physical memory by adding an extra level of address translation The VMM for each virtual machine maintains a mapping from the guest s physical memory pages to the physical memory pages on the underlying machine VMware refers to the underlying physical pages as machine pages and the guest physical pages as physical pages Each virtual machine sees a contiguous zero based addressable physical memory space The underlying machine memory on the server used by each virtual machine may not be contiguous The VMM intercepts virtual machine instructions that manipulate guest operating system memory management structures so that the actual memory management unit on the processor is not updated directly by the virtual machine ESX Server maintains the virtual to machine page mappings in a shadow page table that is kept up to date with the physical to machine mappings The shadow page tables are then used directly by the processor s paging hardware This allows normal memory
6. high then performance may degrade significantly The vmmemct1 approach ballooning is used whenever possible for optimum performance 15 Architecture and Performance Implications tS vmware Swapping is a reliable mechanism of last resort that the system uses to reclaim memory only when necessary Memory Sharing The VMkernel also implements a page sharing optimization to reduce the amount of memory needed The process of page sharing maps identical pages in one or more virtual machines to a single page of physical memory on the server The VMkernel scans pages looking for identical content and then remaps the virtual machines pages to a single read only copy of the page If any virtual machine attempts to write to the shared page it is allocated a new copy of the page with read write permissions Compared to other methods page sharing can significantly reduce overall memory requirements For example if multiple virtual machines are running the same guest operating system and same applications their pages can typically be shared The rate at which the VMkernel scans pages is low and the scanning itself does not adversely impact performance Figure 6 illustrates how page sharing memory virtualization is performed using the example from Figure 3 in which one page is shared between virtual machines Virtual Machine 1 Virtual Machine 2 Guest Virtual Memory Guest Physical Memory a vv v Machine tal Et fel v
7. is the best source for that information The paper also does not focus on specific tuning tips or present specific performance data but is intended instead to give readers the background necessary to understand the performance characteristics of applications running on virtual machines There are two main themes in this paper e Virtual machines share the physical resources of the underlying physical server Each virtual machine does not necessarily have dedicated access to all of the physical server s CPU memory network disk or other devices Rather the server s resources are shared among different virtual machines on the same physical server although the users or applications running on the different virtual machines are isolated from one another e Resource utilization is the key to performance Making sure no resource is a bottleneck is the best way to get the highest performance out of ESX Server ESX Server guarantees each virtual machine its share of the underlying hardware resources based on the resource allocation policies set by the system administrator ESX Server implements dynamic partitioning where resources are de allocated and re allocated to virtual machines as needed by specific applications Each virtual machine consumes some fraction of CPU memory network bandwidth and storage resources of the underlying physical server For example if eight virtual machines were continuously running on a four CPU SMP server with 8GB
8. tS vmware Introduction VMware ESX Server is the datacenter class virtualization platform used by many enterprise customers for server consolidation Virtual machines deployed and managed by VMware technology provide multiple isolated and protected computing environments that can run on the same server at the same time Virtual machines are ideal for server consolidation because the entire working environment of an application is encapsulated within the virtual machine Different operating systems and configurations can run within virtual machines on a single physical machine Also if one virtual machine crashes the others are isolated from the failure and continue running ESX Server dynamically allocates system CPU memory disk and networking resources to virtual machines based on need or guarantees set by an administrator providing mainframe class capacity utilization and control of server resources This paper describes VMware ESX Server capabilities and provides an overview of the various hardware performance and resource utilization issues to consider when deploying virtual machines It also provides an overview of the ESX Server 2 software architecture and includes guidelines for making decisions and choosing between various options that may affect or determine virtual machine performance This paper does not provide a complete list or description of ESX Server features or configuration parameters the ESX Server Administration Guide
9. virtual machine issues network or storage I O requests In this example the virtual machine has a vmxnet virtual network adapter and an LSI Logic SCSI adapter The underlying physical server has a QLogic Fibre Channel HBA attached to a SAN and an Intel e1000 network adapter The application within the virtual machine first makes an I O request to the guest operating system for example to send data over the network or to read or write from a file on disk step 1 in the figure The guest operating system processes the request and calls the guest device driver step 2 When the guest device driver attempts to access the device the VMM intercepts the I O request and then transfers control to the VMkernel step 3 The device independent networking or storage layer in the VMkernel then processes the I O request step 4 The VMkernel manages requests from multiple virtual machines and takes into account any administrator specific resource management controls The VMkernel then sends the I O request to the hardware interface layer which contains the VMkernel device driver for the specific device on the physical machine step 5 Note that this is a simplified view and does not cover some of the more advanced ESX Server features such as storage multipathing or virtual local area networks When an I O request completion interrupt arrives processing of the completion takes the reverse path of an I O request The VMkernel device driver fields the inter
10. ESX Server scheduler runs the virtual machines and co schedules virtual CPUs from the SMP virtual machines according to the shares each virtual machine has been allocated Administrators can also specify absolute guarantees for minimum and maximum CPU utilization for each virtual machine The minimum and maximum utilizations are expressed as a percentage of a physical CPU s entire time availability A minimum CPU reservation guarantees that a virtual machine is always able to use this minimum percentage of a physical CPU s time regardless of the total number of shares A maximum CPU limit ensures that the virtual machine never uses more than this maximum percentage of a physical CPU s time even if extra idle time is available ESX Server also has an admission control policy that does not allow you to power on a virtual machine if ESX Server cannot guarantee the minimum CPU reservation time specified for that virtual machine After the minimum and maximum allocations have been determined the shares are used to allocate any contended CPU resources Shares have no effect if the maximum limit is set to match the minimum limit 12 Architecture and Performance Implications E vmware ESX Server lets users set affinity for virtual machines to restrict the virtual machines so they run on only a subset of the physical processors available This can be useful for creating a fixed partitioning of the CPU resources However in doing so the ESX Server sc
11. I O the latency of physical network devices is low so these devices can send and receive network packets at a high rate To avoid the overhead of the transitions between the virtual machine and VMkernel contexts ESX Server with vmxnet collects a cluster of network packets as it sends or receives them before making the transition The clustering occurs only if the rate of packets sent or received is high so that packets are not delayed unnecessarily ESX Server with vmxnet can also take advantage of advanced features available on some network cards such as TCP checksum and TCP segmentation offloading Performance Implications for Storage ESX Server emulates either a BusLogic or LS Logic SCSI adapter which is likely to be different from the adapter installed on the physical server The specifics of the implementation of the SCSI driver loaded into the guest operating system can affect disk I O throughput For example the depth of the queue of outstanding commands in a driver can significantly impact disk performance A queue depth that is too small limits the disk bandwidth that can be pushed through the virtual machine For the BusLogic adapter VMware provides a custom BusLogic driver for Windows guest operating systems that is recommended for applications requiring high performance The BusLogic driver is part of VMware Tools and can be installed when you install VMware Tools The guest driver queues may also be tuned See the driver specific docu
12. VMWARE WHITE PAPER tS vmware VMware ESX Server 2 Architecture and Performance Implications ESX Server 2 is scalable high performance virtualization software that allows consolidation of multiple applications in virtual machines onto a single physical platform While virtual machines are isolated from each other the physical resources of the platform are shared between them based on the resource allocation policies set by the system administrator This white paper uncovers ESX Server software architecture and provides insights into the techniques used for efficient resource control You will also learn about advanced scheduling configuration options and performance tools for measuring system resource utilization The topics covered in this white paper are the following e Introduction e ESX Server 2 Architecture e Virtualization of Hardware Resources e Resource Management e The Hardware Interface e The VMware Service Console e Monitoring Resource Utilization in ESX Server e VMware Performance Tools e Keeping Time in Virtual Machines e Guest Operating System Performance Tools e Conclusion e Glossary e Additional Resources This white paper is intended for partners resellers and advanced system administrators who wish to understand more about the ESX System architecture as well as the performance implications of configuration options that may affect their system deployment decisions Architecture and Performance Implications
13. ad it can still deliver comparable performance in terms of overall throughput ESX Server 2 supports one or two virtual processors or CPUs Some applications are single threaded and thus can take advantage only of a single CPU Deploying such applications in dual processor virtual machines won t speed up the application but it does cause the second virtual CPU to use physical resources that could otherwise be used by other virtual machines As a result single threaded applications should be deployed in uniprocessor virtual machines for best performance and resource utilization Memory Virtualization The VMkernel manages all machine memory except for the memory that is allocated to the service console ESX Server 2 requires between 192 and 512MB depending on the number of virtual machines that are run The VMkernel dedicates part of this managed machine memory for its own use and the rest is available for use by virtual machines Virtual machines use machine memory for two purposes the VMM requires memory for its own code and data and the virtual machines require their own memory All modern operating systems provide support for virtual memory This gives software the ability to use more memory than the amount of physical memory the machine actually has The virtual memory space is divided into smaller size blocks typically 4 KB called pages The physical memory is also divided into blocks also typically 4 KB in size When physical memory is
14. al machines the min max and shares options should be used Scheduling for NUMA Architectures ESX Server 2 provides memory access optimizations for both Intel processors and AMD Opteron processors in server architectures that support NUMA non uniform memory access NUMA machines are made up of multiple nodes in which each node typically has a small number of processors plus main memory The memory on all the nodes forms a global address space and all processors can access memory transparently from any node however access to local memory is faster than access to memory on remote nodes The ESX Server scheduler attempts to balance virtual machines across the NUMA nodes to maximize the use of local memory while maintaining even CPU utilization among the nodes See the ESX Server 2 NUMA Support white paper for more information Also see the ESX Server Administration Guide and the numa 8 man page Hyperthreading Support ESX Server 2 1 and later versions support hyperthreading on processors that have this feature Hyperthreaded processors can run multiple independent threads simultaneously Intel recently added hyperthreading to the Intel Pentium IV and Xeon processors and these processors support two independent threads In Intel s terminology the single processor is called a package and each thread is called a logical processor On a hyperthreaded processor most processor resources are shared between the threads including the second and third le
15. an catch up with real time If the backlog of interrupts is over 60 seconds then ESX Server drops the undelivered interrupts to avoid running for too long at the higher timer interrupt rate The VMware Tools also synchronizes the virtual machine s time to the underlying server s time once every minute ESX Server s virtual time implementation is able to keep time accurately overall but there may be minor time inaccuracies within small time periods The amount of the inaccuracy depends on the overall CPU load on the server machine If the server is lightly loaded the virtual machines are able to process their timer interrupts without delay if the server is heavily loaded virtual machines may fall behind real time briefly until the guest time is synchronized again with VMware Tools To keep time as accurate as possible we recommend enabling VMware Tools time synchronization For more information see the Timekeeping in VMware Virtual Machines white paper also available on VMware s web site Guest Operating System Performance Tools It is functionally possible to run performance tools from inside a guest operating system running in a virtual machine For example Windows tools such as perfmon and Task Manager are well known and widely used on physical machine platforms However the CPU utilization reported by such tools for applications running inside the virtual machine may not accurately reflect the actual physical CPU utilization for that applic
16. ars Figure 6 ESX Server Memory Virtualization with Page Sharing In this example the machine page shown in black in the figure is transparently shared by both virtual machines Only a single copy of the page is needed and both virtual machines point to the same machine page See the ESX Server 2 Administration Guide for information on memory Management configuration options Device Resource Management ESX Server provides configuration options to control the amount of disk and network bandwidth allocated to each virtual machine similar to the way options are used to control CPU and memory allocation For networking ESX Server uses a traffic shaping module that limits the amount of outbound traffic for each virtual machine For disk devices ESX Server implements a proportional share algorithm to balance disk bandwidth across virtual machines See the ESX Server 2 Administration Guide for details The Hardware Interface This section describes the hardware interface components and discusses performance implications in choosing various configuration options for hardware device access 16 Architecture and Performance Implications tS vmware Device Drivers The VMkernel loads device drivers that access the physical devices on a server machine such as the network interface card SCSI adapters and host bus adapters HBAs The ESX Server installation process detects the devices that are assigned to the VMkernel and loads the app
17. ation especially when the virtual machine is sharing the underlying processor Such tools assume that the guest operating system is the only operating system running and does not take in account situations in which the underlying physical CPU is shared Operating systems typically compute per process CPU utilization in the following way When the operating system fields a timer interrupt it increments a counter for the currently running process It keeps track of other attributes as well such as whether the process is running user code or privileged code The estimated CPU utilization for each process is then calculated as the interrupt count for the process times the interrupt interval 20 Architecture and Performance Implications tS vmware To understand why inaccuracies arise consider the case of two CPU intensive uniprocessor virtual machines running on a two way server machine If the two virtual machines A and B are tied to physical CPU 1 each of the virtual machines receive only 50 of physical CPU 1 s time If a timer interrupt comes in for virtual machine A while virtual machine B is running virtual machine A is re scheduled to take the interrupt The process in virtual machine A that is currently running is charged for the entire interval for example 10 milliseconds for a rate of 100 interrupts per second In this example the guest operating system tools show the application running inside virtual machine A taking 100 of
18. calls Application Code Operating System Code Direct Execution Virtualized Instructions near native speed H overhead varies Virtual machine enters unprivileged mode Figure 2 Execution states of the VMware virtual machine monitor The virtual machine runs in direct execution whenever possible Traps interrupts system calls and other events cause the virtual machine to enter the guest operating system where instructions require virtualization by the VMM Note that there is a distinction between emulation and virtualization With emulation all operations are executed in software by an emulator A software emulator allows programs to run on a computer system other than the one they were originally written for The emulator does this by emulating or reproducing the original computer s behavior by accepting the same data or inputs and achieving the same results With virtualization the underlying physical resources are used whenever possible and the virtualization layer executes instructions only as needed to make the virtual machines operate as if they were running directly on a physical machine Emulation provides portability and is often used to run software designed for one platform across several different platforms For example there are a number of Atari 2600 emulators that can run Atari 2600 games on x86 based PCs In contrast virtualization emphasizes performance and runs directly on the processor whenever possibl
19. comprised of two components a fixed system wide overhead for the service console and the VMkernel and an additional overhead for each virtual machine For ESX Server 2 5 the service console typically uses from 192 to 512MB and the VMkernel uses a smaller amount of memory about 24MB For virtual machines configured with 512MB or less the overhead memory required for each virtual machine is typically 54MB for a uniprocessor virtual machine and 64MB for a two way SMP virtual machine Virtual machines configured with more than 512MB require an additional 32MB of overhead memory per additional gigabyte of configured main memory This amount of overhead memory per virtual machine is for data structures such as the virtual machine s SVGA frame buffer and memory mappings maintained by the VMM These VMM memory mappings are why additional overhead memory is needed for each extra 1GB of virtual machine memory ESX Server also provides optimizations to reduce the amount of physical memory used on the underlying server which can save more memory than is taken up by the overhead For more information see Memory Management on page 14 Device Emulation The VMkernel is responsible for managing virtual machine access of network and storage devices The service console handles other devices such as floppy disks and CD ROMs The VMkernel handles networking and storage directly because of the performance critical nature of these devices in server environments
20. e Because VMware software virtualizes the CPU the virtual machine is aware of the specific model of the processor on which it is running Some operating systems install different kernel versions tuned for specific processor models and these kernels are installed in virtual machines as well That is why it isn t possible to migrate virtual machines installed on a machine running one processor model say an AMD processor to another system for example running with Intel processors Performance Implications CPU virtualization adds varying amounts of overhead depending on the percentage of the virtual machine s workload that can run in direct execution and the costs of virtualizing the remaining instructions that can t be executed directly For applications that are CPU bound that is most of the application s time is soent executing instructions rather than waiting for external events such as user interaction device input or data retrieval any CPU virtualization overhead likely translates into a reduction in overall performance In those cases the CPU virtualization overhead requires additional instructions to be executed which takes CPU processing time that could otherwise have been used by the application itself For Architecture and Performance Implications tS vmware applications that are not CPU bound any CPU virtualization likely translates into an increase in CPU utilization but since there s CPU available to absorb the overhe
21. ed more for an idle memory page than for a memory page that it is actively using The memory tax is removed when the virtual machine expands its memory usage ESX Server admission control ensures that sufficient unreserved memory and swap space are available before the user powers on a virtual machine Memory must be reserved for the virtual machine s guaranteed minimum size plus the overhead memory that is required for virtualization Note that ESX Server also attempts to keep some memory free at all times to handle dynamic allocation requests efficiently ESX Server sets this level at approximately six percent of the memory available for running virtual machines Swap space must be reserved on disk for the remaining virtual machine memory that is the difference between the maximum and minimum memory settings The swap space reservation is needed to ensure that a virtual machine s memory can be saved under any circumstances in practice only a small amount of swap space is used A default swap file size equal to the physical memory size of a server machine is recommended which allows up to a two times level of memory over commitment Memory Reclamation ESX Server uses two memory management mechanisms ballooning and swapping to expand or contract the amount of memory allocated dynamically for each virtual machine Ballooning is the preferred method and provides predictable performance which closely matches the behavior of a native system under sim
22. em For CPU utilization many VMware customers consider average CPU utilization in the range of 60 to 80 for the ESX Server to be a reasonable level though different organizations may have their own standards as to how close to maximum capacity they want to run their servers Sufficient CPU resources must also be made available to handle peaks in workload demand ESX Server allows memory to be over committed as described in Memory Management on page 14 In many cases actual physical memory utilization is less than the maximum memory requested by all virtual machines However when ESX Server becomes strained for memory it reclaims memory from virtual machines using ballooning or swapping which can cause performance to degrade Keeping Time in Virtual Machines Within a virtual machine it is important that the guest operating system keep time accurately for obvious reasons but also because many performance monitoring applications and 19 Architecture and Performance Implications tS vmware benchmarks are timed from within the virtual machine If time measured in a virtual machine were to pass more slowly than real time then applications within the virtual machine would appear to run more quickly That is if the virtual machine runs for ten minutes in real time but only reports that five minutes have elapsed then an application would appear to have completed work in only five minutes instead of the ten minutes it actually too
23. er Performance of individual virtual machines varies depending on the applications it is running and the guest operating systems deployed There are anumber of configuration options provided by ESX Server that can be used to tune various components of the system including CPU memory networking and storage Consult the ESX Server 2 Administration Guide for specific configuration option and component tuning details Although much of the discussion in this paper centers on resource sharing and the associated overhead in practice most workloads perform at desired performance levels without saturating server resources For robust large scale deployments it is necessary to understand the performance metrics of the specific applications being consolidated such as the number of transactions per second or the number of concurrent users the system must be able to handle Then after you create the virtualized system environment performance of the applications running on virtual machines in the consolidated environment needs to be measured to make Sure it meets production requirements VMware ESX Server is widely used to optimize IT infrastructure by partitioning industry standard servers into virtual machines for use by Windows and Linux applications that require isolation ESX Server allocates shares of the physical server resources to each virtual machine and some of the physical server resources have to be reserved for the ESX Server software When c
24. er 2 NUMA Support http www vmware com pdf esx21_numa odf Hyperthreading Support in ESX Server 2 1 http www vmware com pdf esx21_hyperthreading pdf ESX Server Raw Device Mapping http www vmware com pdt esx esx25_rawdevicemapping pdf Networking Throughput in a Virtual Infrastructure http www vmware com pdf esx_network_planning pdf Using esxtop to Troubleshoot Performance Problems http www vmware com pdf esx2_using_esxtop pdf Using vmkusage to Troubleshoot Performance Problems http www vmware com pdf esx2_using_vmkusage pdf Comparing the MUI VirtualCenter and vmkusage http www vmware com pdt mui_vmkusage2 pdf Cpu 8 Mem 8 Numa 8 and Hyperthreading 8 man page VMware Inc 3145 Porter Drive Palo Alto CA 94304 www vmware com Copyright 1998 2005 VMware Inc All rights reserved Protected by one or more of U S Patent Nos 6 397 242 6 496 847 6 704 925 6 711 672 6 725 289 6 735 601 6 785 886 6 789 156 and 6 795 966 patents pending VMware the VMware boxes logo and design Virtual SMP and VMotion are registered trademarks or trademarks of VMware Inc in the United States and or other jurisdictions Microsoft Windows and Windows NT are registered trademarks of Microsoft Corporation Linux is a registered trademark of Linus Torvalds All other marks and names mentioned herein may be trademarks of their respective companies Revision 20050802 Item ESX ENG Q305 122 23
25. es Some of the physical memory of a virtual machine may in fact be mapped to shared pages or pages that are unmapped or swapped out ESX Server performs its virtual memory management without the knowledge of the guest operating system and without interfering with the guest operating system s own memory management subsystem See Memory Management on page 14 for more information Performance Implications There are two kinds of memory overhead that may be incurred by ESX Server virtual machines e the additional time to access memory within a virtual machine e the extra space needed by ESX Server for its own code and data structures beyond the memory allocated to each virtual machine ESX Server memory virtualization adds little time overhead to memory accesses As previously discussed because the shadow page tables are used directly by the processor s paging hardware most memory accesses in the virtual machine can execute without address translation overhead However updates by the virtual machine to memory management data structures for example writing a page table entry to a page table or changing page table root pointers are intercepted and processed by the VMM which adds some virtualization overhead For example page faults originating in the virtual machine causes control to switch into the VMM so that the VMM can update its data structures Architecture and Performance Implications tS vmware The memory space overhead is
26. fferences from other parts of the system These components include the device drivers and the VMFS VMware ESX Server File System e Service Console boots the system initiates execution of the virtualization layer and resource manager and relinquishes control to those layers It also runs applications that implement support management and administration functions Figure 1 shows the basic architecture of ESX Server 2 As shown in the figure each virtual machine has its own guest operating system and applications The VMkernel and Virtual Machine Monitor VMM shown in the middle band of the diagram implement the virtualization layer The VMkernel controls and manages the physical resources of the underlying server The VMM implements the virtual CPUs for each virtual machine The Resource Manager and hardware interface components are implemented in the VMkernel Architecture and Performance Implications tS vmware Finally the Service Console component is shown on the far right in the diagram The service console provides bootstrapping and other services to the ESX Server system Virtual Machines ESX Server 2 Resource Virtual Machine Manager Monitor VMM VMkernel Hardware Interface Layer x86 Hardware Figure 1 ESX Server architecture Virtualization of Hardware Resources VMware ESX Server virtualizes four key server resources CPU memory disk and network The following section describes the implementation
27. heduler attempts to maintain fairness across all virtual machines but affinity constraints may make this impossible so performance may be affected For example if several virtual machines are all designated to run on one processor then the scheduler must run them on that processor even if other processors are available Rather than using affinity settings you should set minimum CPU reservation rates to ensure the most important virtual machines get the resources they need while still giving the ESX Server scheduler flexibility to make the best use of the physical processors If you must specify affinity constraints note that the service console always runs on CPU 0 the first physical processor As a result it is worthwhile to keep CPU 0 as free as possible Since virtual machines rely on the service console for a variety of functions including display keyboard and low speed I O devices making the service console wait can slow down the overall operation of virtual machines See the ESX Server 2 Administration Guide for more information on CPU share affinity and scheduler related configuration options The ESX Server scheduler is quite effective at making the best use of an underlying server s CPU resources If all the virtual machines running on your ESX Server have equal importance there is no need to explicitly specify min max or shares and you can just use the defaults But if you do need to preferentially allocate resources to virtu
28. here each physical extent is a disk partition Note that adding extents to a VMFS 2 volume may not necessarily improve performance ESX Server itself does not stripe disk blocks across the extents rather extents are filled sequentially as the storage is used and the performance benefits achieved are based substantially on the performance of the underlying storage configuration Virtual Disk Modes ESX Server supports four disk modes persistent nonpersistent undoable and append Using persistent disks typically results in higher disk I O performance than the other disk modes When a virtual machine uses a persistent disk the default all disk writes go to the VMFS file containing that virtual disk and the virtual disk behaves like a disk drive on a physical machine When a virtual machine uses the undoable non persistent or append disk modes disk writes are appended to a redo log When a virtual machine reads from disk it first checks the redo log by looking at a directory of disk blocks contained in the redo log and if the redo log is present reads that information Otherwise the read goes to the base disk for the virtual machine Raw Disks ESX Server 2 5 introduced support for Raw Device Mapping RDM which allows management and access of raw SCSI disks or LUNs as VMFS files An RDM is a special file on a VMFS 2 volume that acts as a proxy for a raw device The RDM file contains metadata used to manage and redirect disk accesses to the ph
29. ilar memory constraints With ballooning ESX Server works with a VMware supplied vmmemct1 module loaded into the guest operating system to reclaim pages that are considered least valuable by the guest operating system The vmmemct1 driver is installed as part of the VMware Tools Ballooning effectively increases or decreases memory constraints on the guest operating system and causes the guest to invoke native memory management algorithms When memory is scarce the guest operating system identifies which particular pages to reclaim and if necessary swaps them to an allocated virtual disk Note that to use ballooning the guest operating system must be configured with sufficient swap space Swapping is used to forcibly reclaim memory from a virtual machine when no vmmemct 1 driver is available This may be the case if the vmmemct1 driver was never installed has been explicitly disabled is not running for example while the guest operating system is booting or is temporarily unable to reclaim memory fast enough to satisfy current system demands Standard demand paging techniques swap pages back in place when the virtual machine needs them If the working set active memory of the virtual machine resides in physical memory using the swapping mechanism and having inactive pages swapped out does not affect performance However if the working set is so large that active pages are continuously being swapped in and out that is the swap I O rate is
30. ion Execution of an application directly on a physical server as contrasted with running the application in a virtual machine Non Uniform Memory Access NUMA Architecture A server architecture that consists of multiple nodes where each node contains a small number of processors connected to main memory on the same system bus Nodes are then connected to other nodes via a high speed interconnect Processors can access memory on any node however accesses to memory on the same node local memory are much faster than accesses to memory on other nodes remote memory Thus the memory access times are non uniform depending on the location of the memory Physical CPU A processor on a physical server A single physical CPU with hyperthreading can contain multiple logical CPUs Raw Device Mapping RDM An RDM is a special file on a VMFS 2 volume that acts as a proxy for a raw device It allows management and access of raw SCSI disks or LUNs as VMFS files Reserved Memory Memory committed for guaranteed allocations to existing virtual machines Service Console The service console boots the systems and runs support management and administration applications Shadow Page Table A map between the guest operating system s virtual memory pages and the underlying physical machine pages The shadow page tables are maintained by ESX Server and are used to efficiently virtualize memory accesses SMP Symmetric Multi Processing virtual machine A
31. k Since many systems and applications have to perform to service level agreements SLA such as executing a certain number of transactions per second it is important to provide accurate time keeping within virtual machines to determine if SLAs are being met Most operating systems keep track of time by counting timer interrupts from timer devices Server machines typically have several different hardware timers so the operating system sets up one or more of these timers to generate periodic interrupts at a fixed rate Common timer interrupt rates are 100 or 1000 interrupts per second The operating system then keeps a running count of the number of interrupts it has actually handled to calculate the time In a virtual machine the timer devices operate in the same way in that they generate interrupts that are processed by the guest operating system However since virtual machines share the underlying processors a particular virtual machine may not actually be running at any specific time If a virtual machine is not running when a timer interrupt comes in from a timer device ESX Server attempts to schedule the virtual machine so that it can accept the interrupt However by the time the virtual machine runs again and checks for interrupts it may have fallen behind real time or even missed several timer interrupts To keep time accurate in such cases ESX Server delivers virtual timer interrupts at a higher rate so that the virtual machine s time c
32. lance adapter is the default although vmxnet is recommended for higher performance To use the vmxnet network adapter configure virtual machines to use vmxnet through the ESX Server Management User Interface and install the vmxnet driver available in the VMware tools on the virtual machines Note that the network speeds reported by the AMD PCnet and vmxnet guest 10 Architecture and Performance Implications tS vmware drivers on the virtual machine do not necessarily reflect the actual capacity of the underlying physical network interface card For example the AMD PCnet guest driver on a virtual machine reports a speed of 10Mbps even if the physical card on the server is 1OOMbps or 1Gbps because the AMD PCnet cards that ESX Server emulates are 10Mbps by definition However ESX Server is not limited to 1OMbps and transfers network packets as fast as the resources on the physical server machines allow As is the case with native networking performance gigabit networking requires more CPU resources than 100Megabit networking As a result available CPU resources may limit the networking bandwidth you can obtain For example a 5S00MHz server with a gigabit network card is likely to run out of CPU cycles before saturating the gigabit link As is the case for disk performance native system network parameter tuning can also provide significant improvements in virtual machine performance Resource Management ESX Server installations co
33. machine even if the total amount of memory is overcommitted Unless otherwise specified the minimum memory size is typically half of the maximum memory setting depending on available unreserved RAM and swap space It is recommended you set explicit minimum memory sizes above the point of the virtual machines basic working set size for consistent performance 14 Architecture and Performance Implications tS vmware Virtual machines are granted their maximum memory size unless memory is overcommitted When memory is overcommitted each virtual machine is allocated an amount of memory between its minimum and maximum sizes The amount of memory granted to a virtual machine above its minimum size may vary with the current memory load ESX Server automatically determines allocations for each virtual machine based on the number of memory shares the virtual machine has been given and an estimate of its recent working set size ESX Server implements proportional share memory allocation to control the amount of physical memory for each virtual machine As with CPU shares memory shares entitle virtual machines to a proportional share of total physical memory However virtual machines that are not actively using their currently allocated memory automatically have their effective number of shares reduced by levying a tax on idle memory This memory tax helps prevent virtual machines from unproductively hoarding idle memory A virtual machine is charg
34. mentation for more information on how to do this The driver queue depth can also be set for some VMkernel drivers For example the default queue depth of the QLogic driver is 16 however specifying larger queue depths may yield higher performance You can also adjust the number of outstanding disk requests per virtual machine in the VMkernel through the ESX Server Management User Interface Setting this parameter can help equalize disk bandwidth across virtual machines See knowledge base article 1269 for details Different storage systems may also have their own tuning and configuration parameters For example issues such as the RAID level you choose for disk arrays the distribution of LUNs across RAID sets and whether or not caching is enabled on the storage device can all drastically impact storage performance both natively and in virtual machines Storage performance issues you encounter are most often the result of configuration issues with underlying storage devices and are not specific to ESX Server If you suspect a storage performance problem you may want to try running applications natively if possible to determine if the problem is due to a storage configuration issue If storage is centrally managed or configured in your environment contact your storage administrator Performance Implications for Networking ESX Server emulates either an AMD Lance PCnet network adapter called vlance or the custom vmxnet network adapter The v
35. mmonly have many virtual machines running on the same physical machine This section describes how ESX Server manages and allocates the physical resources across multiple virtual machines CPU Scheduling ESX Server gives administrators dynamic control over the CPU utilization and processor assignments of virtual machines ESX Server implements proportional share processor scheduling with optional rate guarantees to control the amount of CPU time allocated to each virtual machine Each scheduled virtual machine is allocated a number of shares The amount of CPU time given to each virtual machine is based on its fractional share of the total number of shares in the whole system For example if a virtual machine has three times as many shares as another virtual machine it is entitled to three times as much CPU time Note that changing the number of shares allocated to one virtual machine changes the total number of shares and thus can impact how CPU time is allocated across all virtual machines Shares are not the same as hard partitions of CPU time If a virtual machine does not use its full allocation of shares for example because it is currently halted the unused shares are partitioned among the remaining active virtual machines That way unused shares are not wasted and the active virtual machines benefit from the extra resources available Similarly if a virtual machine is idle ESX Server detects the inactivity and treats the virtual machine a
36. n SMP virtual machine is a virtual machine with more than one virtual CPU Unused Memory Memory that has not yet been allocated to a virtual machine Virtual CPU A processor within a virtual machine ESX Server 2 currently supports up to two virtual processors per virtual machine Virtualization Overhead The cost of running an application within a virtual machine as compared to running the same application natively Since running in a virtual machine requires 22 Architecture and Performance Implications tS vmware an extra layer of software there is by necessity an associated cost This cost may be in terms of additional resource utilization or performance VMkernel The part of ESX Server that controls and manages the physical resources of the server The VMkernel implements the virtualization resource management and hardware interface components of ESX Server VMkernel Device Driver A device driver loaded into the VMkernel which controls the physical devices on the server Virtual Machine Monitor VMM The part of ESX Server that implements the x86 CPU virtualization Virtual SMP The version of ESX Server that supports multiprocessor virtual machines Currently ESX Server supports up to two way virtual machines Additional Resources VMware ESX Server 2 5 Installation Guide VMware Inc 2004 VMware ESX Server 2 5 Administration Guide VMware Inc 2004 VMware VirtualCenter 1 2 User s Manual 2004 ESX Serv
37. of memory and 160GB local storage an equal allocation of the resources results in each virtual machine having available 50 of one CPU s processing capacity 1GB of RAM and 20GB of storage minus any overhead required to perform and manage the virtualization ESX Server is designed for high performance although as with any additional software layer virtualization does add some overhead The ESX Server software requires its own use of a certain amount of the physical machine resources Virtual machines running applications with a varied mix of operations such as operating system tasks memory transactions and I O experience different levels of virtualization overhead Architecture and Performance Implications tS vmware In many cases the resources available on a physical machine exceed the resource requirements of the virtual machines and associated applications running on the same machine Most servers today are so lightly loaded that even combining multiple applications on a single server doesn t exceed the server s capacity So even though the virtualization overhead may add to the overall latency execution time of applications running on a virtual machine as long as there are sufficient physical resources available the throughput or data rate can be comparable For example consider a database where clients are generating a light load of 100 transactions per second and each transaction takes an average of 1 millisecond to com
38. onsolidated with ESX Server workloads that don t fully utilize the resources of their respective physical systems to achieve target application throughput show great improvement in the server environment s total cost of ownership and can then take advantage of the other strategic benefits of deploying a virtual infrastructure 21 Architecture and Performance Implications tS vmware Glossary Active Memory Memory recently used by a virtual machine an estimate of its working set size Direct Execution A mode in which the virtual machine monitor can run the virtual machine s code directly on the underlying processor Code that runs in direct execution has negligible virtualization overhead Granted Memory Memory allocated to a virtual machine Guest Operating System or Guest The operating system running within a virtual machine Guest Device Driver A device driver loaded into the guest operating system which controls the virtual devices of the virtual machine Hyperthreading Processor architecture feature that allows a single processor to execute multiple independent threads simultaneously Hyperthreading was added to Intel s Xeon and Pentium IV processors Intel uses the term package to refer to the entire chip and logical processor to refer to each hardware thread Logical CPU A hardware thread on a hyperthreaded processor Machine Pages The physical memory pages on the physical machine running ESX Server Native Execut
39. ormance Implications tS vmware lock It will continue to spin until the virtual CPU holding the lock is finally scheduled again and releases the lock Co scheduling avoids this situation by running both virtual CPUs at the same time The ESX Server scheduler does allow the execution of virtual CPUs within a virtual machine to become slightly skewed where one virtual CPU runs without the other for a limited amount of time A periodic timer checks the status of the virtual CPUs and de schedules the virtual machine only if the skew between the virtual CPUs of a virtual machine is greater than a fixed threshold currently 1 5 milliseconds by default Figure 5 shows a simple scheduling situation in which five virtual machines contend for CPU resources In this figure the virtual machines having a single square represent uniprocessor virtual machines Virtual machines with two squares represent two way SMP virtual machines The bottom portion of the figure shows a possible scheduling scenario with these five virtual machines scheduled onto a system with four physical processors at three different points in time Virtual Virtual Virtual Virtual Virtual Machine A Machine B Machine C Machine D Machine E 4000 shares 2000 shares 2000 shares 2000 shares 2000 shares J Lo Machine 2000 for each 1000 for each 1000 for each Virtual CPU Virtual CPU Virtual CPU Physical Processors Figure 5 ESX Server 2 scheduling The
40. ote console application running on the client Running remote consoles uses resources on the service console When connecting many remote consoles you should monitor the resource utilization primarily CPU memory and networking of the service console to make sure that no resource becomes a bottleneck Note that poor remote console performance for example if there s insufficient network bandwidth between the remote console and the ESX Server machine may give a false impression that virtual machine performance is also lagging If you suspect the service console needs more CPU time you can increase its CPU minimum default is 8 This is more likely to be an issue on larger 8 or 16 way machines An adequate amount of memory swap and disk space should also be assigned to the service console The amount of memory required by the service console is a function of the number of virtual machines that will be run on the associated server machine Additional memory should be allocated to the service console to accommodate any other applications running directly on the service console such as system management agents If the service console has too little memory and begins swapping its applications slow down considerably This can adversely affect the performance of all virtual machines running on the same server machine See the ESX Server 2 Administration Guide for guidelines on how to determine the size of memory to allocate to the service console
41. plete If running the same database on a virtual machine causes each transaction to take 1 2 milliseconds to complete the database is still be able to process the 100 transactions per second since the total CPU resources consumed to perform the 100 transactions still does not fully utilize all of the available CPU However as with any computer if you keep increasing the load of applications running in virtual machines it is possible to overload the system beyond what the physical resources can sustain so that virtual machine performance is adversely affected ESX Server 2 Architecture ESX Server runs directly on a physical server In doing so it has direct access to the physical hardware of the server enabling high speed I O operations as well as having complete resource management control The major conceptual components of ESX Server are e Virtualization layer implements the idealized hardware environment and virtualizes the physical hardware devices including CPU network and disk controllers memory subsystem and human interface devices Each virtual machine sees its own set of virtual devices and is isolated from other virtual machines running on the same physical system e Resource Manager partitions the physical resources of the underlying machine and allocates CPU memory disk and network bandwidth to each virtual machine e Hardware interface components enable hardware specific service delivery while hiding hardware di
42. re required With hyperthreading ESX Server can schedule the two virtual CPUs of the SMP virtual machine onto two logical processors in the same package and then put the uniprocessor virtual machine onto the other package by itself The ESX Server scheduler accounts for CPU time in terms of package seconds rather than logical processor seconds Thus a virtual CPU running on a package alongside another virtual CPU gets charged half the CPU time of a virtual CPU running on a package by itself The ESX Server scheduler resource controls are integrated with hyperthreading Virtual machines still receive CPU time proportional to their share allocation but the time is capped by user specified minimum and maximum values While shares specify a relative allocation of resources the minimum and maximum value settings guarantee that virtual machines get an absolute percentage of a package s resources For example a virtual machine with a minimum value set at 75 is guaranteed at least 75 of the entire package s resources not just 75 of a logical processor s resources To meet the guarantees specified by the administrator s resource controls the ESX Server scheduler may expand a high priority virtual machine to use an entire package by not scheduling anything on its partner logical processor This works even if there are other virtual machines ready to run in the system This does not waste resources but rather allows the virtual machine to use a full phy
43. rent x86 based servers because their instruction set architecture is not strictly virtualizable this means that there are instructions that can inspect or modify privileged machine state data without trapping even when the instructions are executed from a non privileged mode Under certain conditions the ESX Server VMM can run the virtual machine directly on the underlying processor like a traditional virtual machine monitor This mode is called direct execution and it provides near native performance in the execution of the virtual machine s CPU instructions Architecture and Performance Implications tS vmware Otherwise the virtual machine CPU s instructions must be virtualized This adds a varying amount of virtualization overhead depending on the specific operation being performed In most cases unprivileged user level application code runs in direct execution mode because in most operating systems user level code does not access privileged state data Operating system code does modify privileged state data and thus requires virtualization As a result a micro benchmark that makes only system calls runs significantly more slowly in a virtual machine than on a native system However code that runs in direct execution mode incurs little extra performance costs and runs at near native CPU instruction speed Figure 2 provides a simplified view of the execution states of the VMware virtual machine monitor Traps interrupts and system
44. ropriate driver modules into the VMkernel ESX Server uses Linux device drivers that have been ported to run in the VMkernel The port is facilitated by a Linux compatibility layer that provides an interface between the VMkernel and the Linux drivers The VMFS File System ESX Server implements its own file system called VMFS VMFS is a distributed file system that allows multiple hosts to concurrently access files on the same VMFS volume It is designed to provide high performance I O to virtual machines VMFS is optimized for storing and accessing large files such as virtual disks and the memory images of suspended virtual machines Virtual disk files are typically larger than 1GB in size so VMFS is optimized to work with a smaller number of large files VMFS uses large file system blocks 1MB to 256MB the default is 1MB to keep the amount of metadata data structures that describe format of files required for a virtual disk file small That way all of the metadata can likely be cached in main memory and all file system reads and writes can be done without having to access the disk to read or write the metadata Note that VMFS does not cache data from virtual machine I O operations This is to ensure crash consistency and provide stable performance Starting with ESX Server 2 1 a VMFS 2 volume can span multiple partitions across the same or multiple LUNs or physical disks up to 32 A VMFS 2 volume is a logical grouping of physical extents w
45. rupt and calls the VMkernel to process the interrupt The VMkernel then notifies the VMM of the target virtual machine which raises the interrupt to the guest operating system in the virtual machine The VMkernel ensures that data intended for each virtual machine is isolated from other virtual machines Since ESX Server 2 1 interrupt handling has been improved for most cases to handle interrupts on idle physical CPUs whenever possible This allows the VMkernel to utilize CPU Architecture and Performance Implications tS vmware resources of the server more efficiently Once the VMkernel handles the interrupt the VMkernel then delivers it to the virtual CPU that can most efficiently process the interrupt Note that fielding interrupts on idle processors has scalability implications For example when you run a single virtual machine that virtual machine may consume a portion of another otherwise idle processor to handle interrupts This additional utilization should be taken into account when you estimate the total number of virtual machines that can be run on the server This effect is noticeable only for extremely disk and network intensive workloads The networking and storage I O path from guest operating system to hardware and vice versa is relatively straightforward and requires no involvement of the service console However it does involve a transition from the virtual machine context to the VMkernel context In the case of network
46. s halted ESX Server supports running more virtual machines than there are physical processors on the server in which case the virtual machines share the underlying CPUs The ESX Server scheduler gives each virtual machine the portion of CPU time to which it is entitled based on its shares The scheduler may migrate virtual machines to different processors to ensure that each virtual machine gets the proper amount of CPU time Note that one and only one virtual processor can run ona physical processor or CPU at any given instant For two way SMP virtual machines the virtual processors from the same virtual machine are co scheduled that is the virtual processors are mapped one to one onto the underlying processors and are run simultaneously if possible Co scheduling ensures that the guest operating system behaves as if it were running on a dedicated server with the same number of processors as the virtual machine In some cases guest operating systems have timing constraints that require operations on other processors to complete within a certain amount of time Co scheduling also improves performance by facilitating prompt communication and synchronization between the processors For example consider the case where one virtual CPU is spinning on a lock held by the other virtual CPU Without co scheduling if the virtual CPU holding the lock gets de scheduled the other virtual CPU wastes CPU cycles spinning on the 11 Architecture and Perf
47. shows resource utilization summaries and also provides historical graphs for CPU memory networking and disk resources The majority of customers running ESX Server today use VirtualCenter to manage their virtual infrastructure For more information on VirtualCenter refer to the VirtualCenter User s Manual The ESX Server Management User Interface MUI displays simple summaries of physical and virtual machine performance statistics but does not provide historical graphs More information on the ESX Server MUI can be found in the ESX Server Administration Guide The command line tools esxtop and vmkusage come bundled with ESX Server The esxtop tool provides a real time view of CPU and memory utilization updated every five seconds by default for each virtual machine as well as the service console and certain VMkernel system services It also shows CPU utilization per physical processor memory utilization and disk and networking bandwidth for each physical disk and network device available to virtual machines The vmkusage tool shows historical graphs of resource utilization for a single physical host running ESX Server and its associated virtual machines For more information on esxtop see the Using esxtop to Troubleshoot Performance Problems technical note For vinkusage see the Using vmkusage to Isolate Performance Problems technical note CPU and memory are typically the most important resources to monitor for an ESX Server machine or syst
48. sical package Similarly the scheduler may expand a high priority SMP virtual machine to use two entire packages with one virtual CPU on each package ESX Server also provides configuration options to control the degree of package sharing for individual virtual machines See the Hyperthreading Support in ESX Server 2 1 white paper for more details Also see the ESX Server Administration Guide and the hyperthreading 8 man page Memory Management ESX Server gives administrators dynamic control over the physical memory allocation of virtual machines As many systems underutilize their available memory ESX Server allows memory to be over committed so that the total memory size for all running virtual machines exceeds the total amount of physical memory ESX Server manages the physical memory of the underlying server based on the allocations given to each virtual machine There are three basic parameters that administrators can use to adjust ESX Server memory allocations minimum maximum and shares The following section provides a description of these parameters Memory Allocation Maximum memory for each virtual machine is specified in the virtual machine s configuration file and sets the amount of memory configured by the guest operating system running in the virtual machine Administrators can also specify absolute guarantees for minimum memory utilization This minimum size is a guaranteed lower bound on the amount of memory allocated to a virtual
49. situations We also recommend disconnecting any unused devices within the virtual machines 18 Architecture and Performance Implications tS vmware Monitoring Resource Utilization in ESX Server As with any system it is important to monitor the resource utilization of your virtual machines as well as the physical machines that run ESX Server You should make sure that there are sufficient resources for running all your virtual machines since they will be sharing resources and if any one resource becomes a bottleneck the performance of the virtual machines will suffer The following section provides a description of tools that are available to monitor resource utilization It also provides information on keeping accurate time in virtual machine environments to ensure accurate benchmarking and performance measurements VMware Performance Tools VMware products include a number of tools to monitor the resource utilization of both virtual machines and the underlying physical server machines when running with ESX Server Many customers also run system management agents such as Dell OpenManage HP Insight Manager or IBM Director to monitor their virtual machines This section provides a brief overview of each of the VMware performance tools and includes references to additional documentation VMware VirtualCenter allows administrators to monitor and control groups of VMware servers and virtual machines from a single management console It
50. the CPU when it actually used only 50 of a single processor or 25 of the underlying two way server machine s total capacity If the virtual machines have some amount of idle time as is typically the case then guest reported CPU utilization can either be over reported or under reported The guest CPU utilization is attributed either to a process or to system idle time depending on whether a process or the idle loop happens to be running when the virtual machine is scheduled As described in Keeping Time in Virtual Machines on page 19 if virtual machine A s time falls behind then ESX Server increases the timer interrupt rate or in some cases drops the backlog of timer interrupts This is necessary to keep accurate time although it can result in further inaccurate measurements in guest reported CPU utilization As a result platform based performance tools are the most accurate way to assess CPU utilization and collect other timer based metrics Other metrics in guest tools such as network packets and disk I O statistics do accurately reflect the guest operating system s counts of these events although they may not necessarily match the number of I O operations performed on the underlying physical device Conclusion ESX Server 2 is designed to help you deploy and manage scalable high performance virtual machine platforms for mission critical environments It can be used to effectively run many virtual machines on a single physical serv
51. vel caches and all other functional units of the CPU This differs from a true dual core processor where the on chip caches and CPU functional units are replicated As a result hyperthreading does not provide the same performance as a dual core processor but does allow better utilization of the processor resources for certain workload mixes Support for hyperthreading in ESX Server is turned on by default The number of processors listed in the ESX Server management user interface reflects the number of logical processors available The number displayed is reduced by half if hyperthreading is turned off Within the virtual machine however the guest operating system does not detect the virtual processors as being hyperthreaded 13 Architecture and Performance Implications tS vmware The ESX Server scheduler schedules virtual machines onto the logical processors The additional scheduling flexibility provided by using logical processors can lead to significant improvements in overall resource utilization For example when running a uniprocessor virtual machine and an SMP virtual machine on a two way server ESX Server co schedules both virtual CPUs in the SMP virtual machine which means that both virtual CPUs must be running at the same time or are idle Without hyperthreading if a uniprocessor virtual machine were running one processor is idle but ESX Server is not able to run the SMP virtual machine because two available processors a
52. ysical device Previous ESX Server 2 releases support using raw disks although the raw disks are not managed as VMFS files Virtual disks are recommended for most virtual disk storage raw disks may be needed in some cases Common applications for raw disks include use as data drives for Microsoft Cluster Services MSCS configurations and to run SAN aware applications inside of virtual machines For more information on raw device mapping see the ESX Server Raw Device Mapping technical note 17 Architecture and Performance Implications tS vmware The VMware Service Console The purpose of the service console is to boot the physical server machines and administer virtual machines After the machine boots into the service console the VMkernel is loaded and takes over the machine The service console supports devices that are not performance critical such as the mouse keyboard screen floppy drives CD ROM COM ports and parallel ports The service console also runs applications that implement support management and administration functions The ESX Server resource manager schedules the service console to run as needed The service console is special in that it always runs on physical CPU O Virtual machines can also run on physical CPU 0 but the service console cannot move to other physical GPUS When a remote console is attached to a virtual machine a VMware application running on the service console and sends the display to the rem
Download Pdf Manuals
Related Search
Related Contents
Viewer for Illustrator User Manual - Product Documentation Speakman SEF-2001-8 Installation Guide LogiLink DiscoLady Soundbox Magazine de la Chambre Régionale de Métiers et de l`Artisanat de Samsung YP-P2AB Керівництво користувача EnGenius EIR900 Wi-Fi Ethernet LAN Dual-band Black router Nexo NX241 Update - Juice Sound & Light Brochure Xpo2 FR Copyright © All rights reserved.
Failed to retrieve file