Monitoring virtual machine performance

Monitoring virtual machine performance

How do you reconcile operating system tools clock cycle identification with non-corresponding or non-awareness of the host clock and the impact on the clock dependent metrics?

This is one of the hardest parts of working with performance monitoring for virtualization – translating virtual CPU calls to physical ones. In general, most virtualization platforms attempt to pass CPU calls directly through to the underlying host physical processors. This helps reduce latency, although it does cause potential compatibility issues. In order to truly differentiate between guest and host CPU activity, you'll need information from the virtualization layer or hypervisor. For example, Microsoft Virtual Server includes performance counters that can be used to collect data about individual virtual machines. (There might be an analogous method in the VMware world, but I'm not aware of the details.) I hope this is somewhat helpful. Good luck!

This was first published in September 2007