<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>All topics fundamental : Hyper-V</title><link>http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx</link><description>Tags: Hyper-V</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>Hyper-V Performance FAQ R2</title><link>http://blogs.msdn.com/tvoellm/archive/2009/12/18/hyper-v-performance-faq-r2.aspx</link><pubDate>Fri, 18 Dec 2009 22:35:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9938979</guid><dc:creator>tvoellm</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/9938979.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=9938979</wfw:commentRss><description>&lt;P&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P align=center&gt;Anthony F. Voellm (aka Tony)&lt;/P&gt;
&lt;P align=center&gt;12/17/2009&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://blogs.msdn.com/tvoellm" mce_href="http://blogs.msdn.com/tvoellm"&gt;http://blogs.msdn.com/tvoellm&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;This FAQ is titled R2 since it updates the &lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/06/06/hyper-v-performance-faq.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/06/06/hyper-v-performance-faq.aspx"&gt;original FAQ&lt;/A&gt; as of the Windows Server 2008 R2 Hyper-V.&amp;nbsp; Since Hyper-V originally released we have continued to improve it.&amp;nbsp; We have new features in R2 like Live Migration, support for 64 processors and lots of improvements in networking and storage.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;******************************************************************************&lt;/P&gt;
&lt;P&gt;Contents&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895320" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895320"&gt;Q: Is there a place that compares features and versions of Hyper-V?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895321" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895321"&gt;Q: What is the recommend configuration for performance testing?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895322" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895322"&gt;Q: How do I monitor performance?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895323" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895323"&gt;Q: Is there any “official” documentation for Hyper-V performance counters?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895324" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895324"&gt;Q: Are there any official virtualization benchmarks I can use to compare machines and virtualization solutions?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895325" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895325"&gt;Q: Is there any common terminology used to talk about virtual machine configurations?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895326" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895326"&gt;Q: How much memory should I reserve for the root?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895327" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895327"&gt;Q: Are there any services that should be stopped?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895328" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895328"&gt;Q: Is it ok run applications / processes in the root OS?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895329" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895329"&gt;Q: Is there a simple way to disable the hypervisor to run some baseline tests on the native system&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895330" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895330"&gt;Q: Should I use passthrough disks or iSCSI attached to the guest for storage?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895331" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895331"&gt;Q: Are there ways to reduce overall networking overhead?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895332" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895332"&gt;Q: Are there additional knobs for performance nuts?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895333" mce_href="http://blogs.msdn.com/controlpanel/blogs/posteditor.aspx?SelectedNavItem=Posts&amp;amp;sectionid=8324&amp;amp;postid=9938979#_Toc248895333"&gt;Q: Are their additional resources that are useful for understanding Hyper-V?&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A title=_Ref248829428 name=_Ref248829428&gt;&lt;/A&gt;******************************************************************************&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895320 name=_Toc248895320&gt;&lt;/A&gt;Q: Is there a place that compares features and versions of Hyper-V?&lt;/H3&gt;
&lt;P&gt;&lt;B&gt;A: &lt;/B&gt;&lt;A href="http://blogs.msdn.com/tvoellm/archive/2009/08/05/what-s-new-in-windows-server-2008-r2-hyper-v-performance-and-scale.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2009/08/05/what-s-new-in-windows-server-2008-r2-hyper-v-performance-and-scale.aspx"&gt;&lt;B&gt;http://blogs.msdn.com/tvoellm/archive/2009/08/05/what-s-new-in-windows-server-2008-r2-hyper-v-performance-and-scale.aspx&lt;/B&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895321 name=_Toc248895321&gt;&lt;/A&gt;Q: What is the recommend configuration for performance testing?&lt;/H3&gt;
&lt;P&gt;A: Here are some simple steps:&lt;/P&gt;
&lt;P&gt;1. Be sure to have the latest WS08 Hyper-V build – Windows Server 2008 R2 is the current verion. &lt;/P&gt;
&lt;P&gt;2. Next you need to make sure you are running a “Supported OS” with the latest Service Packs installed on the guest OS.&amp;nbsp; For the latest on which OS are supported and the number of virtual processors that can be used see &lt;A href="http://support.microsoft.com/kb/954958" mce_href="http://support.microsoft.com/kb/954958"&gt;http://support.microsoft.com/kb/954958&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;3. Make sure the guest and root OS have integration components installed (&lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx&lt;/A&gt; &lt;B&gt;**and** &lt;/B&gt;&lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/01/02/hyper-v-integration-components-and-enlightenments.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/01/02/hyper-v-integration-components-and-enlightenments.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2008/01/02/hyper-v-integration-components-and-enlightenments.aspx&lt;/A&gt; )&lt;/P&gt;
&lt;P&gt;4. Make sure you are using the “Network Adapter” and not the “Legacy Network Adapter”. The legacy adapter uses emulation which creates additional CPU overhead.&lt;/P&gt;
&lt;P&gt;5. Use pass-through disks attached to SCSI for the best performance. Next best is Fixed VHD attached to SCSI. To understand storage better see (&lt;A href="http://blogs.msdn.com/tvoellm/archive/2007/10/13/what-windows-server-virtualization-aka-viridian-storage-is-best-for-you.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2007/10/13/what-windows-server-virtualization-aka-viridian-storage-is-best-for-you.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2007/10/13/what-windows-server-virtualization-aka-viridian-storage-is-best-for-you.aspx&lt;/A&gt; )&lt;/P&gt;
&lt;P&gt;6. Follow these tips for avoiding pitfalls &lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx&lt;/A&gt;&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895322 name=_Toc248895322&gt;&lt;/A&gt;Q: How do I monitor performance?&lt;/H3&gt;
&lt;P&gt;A: First you need to understand that the clocks in the root and guest Virtual Machines may not be accurate See (&lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/03/20/hyper-v-clocks-lie.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/03/20/hyper-v-clocks-lie.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2008/03/20/hyper-v-clocks-lie.aspx&lt;/A&gt; ). Given an understanding of clocks you can see why we implemented the “Hyper-V Hypervisor Logical Processor” performance counters (access using perfmon) which are not skewed by clock effects. There are other Hyper-V performance counters that are useful. See the following for more details (&lt;A href="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx&lt;/A&gt; )&lt;/P&gt;
&lt;P&gt;There is also a detailed posting on how to monitor Hyper-V performance at &lt;A href="http://blogs.msdn.com/tvoellm/archive/2009/04/23/monitoring-hyper-v-performance.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2009/04/23/monitoring-hyper-v-performance.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2009/04/23/monitoring-hyper-v-performance.aspx&lt;/A&gt;&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895323 name=_Toc248895323&gt;&lt;/A&gt;Q: Is there any “official” documentation for Hyper-V performance counters?&lt;/H3&gt;
&lt;P&gt;A: As of the writing of this blog there is no “official” documentation. However you can find documentation on my blog here &lt;A href="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx&lt;/A&gt; .&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895324 name=_Toc248895324&gt;&lt;/A&gt;Q: Are there any official virtualization benchmarks I can use to compare machines and virtualization solutions?&lt;/H3&gt;
&lt;P&gt;A: There are no official and widely accepted benchmarks.&amp;nbsp; That said, Intel put together a benchmark called &lt;A href="http://www.intel.com/technology/itj/2006/v10i3/7-benchmarking/6-vconsolidate.htm" mce_href="http://www.intel.com/technology/itj/2006/v10i3/7-benchmarking/6-vconsolidate.htm"&gt;vConsolidate&lt;/A&gt; and the SPEC group is working on &lt;A href="http://www.spec.org/specvirtualization/" mce_href="http://www.spec.org/specvirtualization/"&gt;SpecVirt&lt;/A&gt;.&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895325 name=_Toc248895325&gt;&lt;/A&gt;Q: Is there any common terminology used to talk about virtual machine configurations?&lt;/H3&gt;
&lt;P&gt;A: Yes - Internal to Microsoft we typically use the following;&lt;/P&gt;
&lt;P&gt;· Native = System without the Hyper-V role. This means you have no virtual drivers, virtual switch, …&lt;/P&gt;
&lt;P&gt;· Root = Most people call this the host however we refer to the management partition of Hyper-V as the root because it is technically not a hosted VM solution.&amp;nbsp; You can also think of this as the OS that boots Hyper-V and handles the management of VMs, devices, memory and other share VM resources.&lt;/P&gt;
&lt;P&gt;· Guest = Guest Virtual Machine.&lt;/P&gt;
&lt;P&gt;· 8p.child.2x1p or better 8p.child.2VMx1VP = A system with 8 logical processors / cores running 2 Virtual Machines (VM) each with 1 Virtual Processor (VP)&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895326 name=_Toc248895326&gt;&lt;/A&gt;Q: How much memory should I reserve for the root?&lt;/H3&gt;
&lt;P&gt;A: There is a good discussion on how much memory to leave for root in the “Windows Server 2008 Tuning Guide.” You can find it here &lt;A href="http://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv.mspx" mce_href="http://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv.mspx"&gt;http://www.microsoft.com/whdc/system/sysperf/Perf_tun_srv.mspx&lt;/A&gt;. The relevant section from the guide is as follows:&lt;/P&gt;
&lt;P&gt;&lt;A title=_Toc230575737 name=_Toc230575737&gt;&lt;/A&gt;&lt;B&gt;&lt;I&gt;Correct Memory Sizing&lt;/I&gt;&lt;/B&gt;&lt;B&gt;&lt;I&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;You should size VM memory as you typically do for server applications on a physical machine. You must size it to reasonably handle the expected load at ordinary and peak times because insufficient memory can significantly increase response times and CPU or I/O usage. In addition, the root partition must have sufficient memory (leave at least 512 MB available) to provide services such as I/O virtualization, snapshot, and management to support the child partitions.&lt;/P&gt;
&lt;P&gt;A good standard for the memory overhead of each VM is 32 MB for the first 1 GB of virtual RAM plus another 8 MB for each additional GB of virtual RAM. This should be factored in the calculations of how many VMs to host on a physical server. The memory overhead varies depending on the actual load and amount of memory that is assigned to each VM.&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895327 name=_Toc248895327&gt;&lt;/A&gt;Q: Are there any services that should be stopped?&lt;/H3&gt;
&lt;P&gt;A: Not if you are running Server Core which is the ideal root OS to use. Regardless of running server core vs full server you should close the Hyper-V Management Console because it has a noticeable impact on CPU. If you want the details see &lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx&lt;/A&gt;&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895328 name=_Toc248895328&gt;&lt;/A&gt;Q: Is it ok to run applications / processes in the root OS?&lt;/H3&gt;
&lt;P&gt;A: You should avoid running any Role / Feature or custom service in the root. If you have services you want to run put them in a guest VM. Running roles in the root can have a negative impact on the guest VM’s. This is due to how the Hypervisor scheduler handles the root virtual processors. &lt;/P&gt;
&lt;P&gt;&lt;I&gt;Note: Outside pure performance deploying applications in the root has licensing implications as in a virtualized environment the so called virtual use rights only allow to run virtualization itself (and its associated management like management agents etc) in the physical environment. More information can be found at:&lt;/I&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://www.microsoft.com/windowsserver2008/en/us/licensing-R2.aspx" mce_href="http://www.microsoft.com/windowsserver2008/en/us/licensing-R2.aspx"&gt;&lt;I&gt;Windows Server 2008 R2 Licensing overview&lt;/I&gt;&lt;/A&gt;&lt;I&gt; - look for Virtual Use Rights &lt;/I&gt;&lt;/P&gt;
&lt;P&gt;· &lt;A href="http://download.microsoft.com/download/E/E/C/EECF5D44-9A88-43D8-AFDB-D2AB82BE035C/Win%20Server%20Lic%20Book%20customer%20hi-res.pdf" mce_href="http://download.microsoft.com/download/E/E/C/EECF5D44-9A88-43D8-AFDB-D2AB82BE035C/Win%20Server%20Lic%20Book%20customer%20hi-res.pdf"&gt;&lt;I&gt;Windows Server 2008 Licensing Overview&lt;/I&gt;&lt;/A&gt;&lt;I&gt; (Pdf)&lt;/I&gt;&lt;I&gt;&lt;/I&gt;&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895329 name=_Toc248895329&gt;&lt;/A&gt;Q: Is there a simple way to disable the hypervisor to run some baseline tests on the native system.&lt;/H3&gt;
&lt;P&gt;A: Yes. “bcdedit /set hypervisorlaunchtype off” and reboot the server. You should also consider changing the protocols on the root network device to re-enable TCP/IP and turn off the “Microsoft Virtual Network Switch Protocol”. &lt;/P&gt;
&lt;P&gt;To turn it back on do “bcdedit /set hypervisorlaunchtype on” and reboot the server.&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895330 name=_Toc248895330&gt;&lt;/A&gt;Q: Should I use passthrough disks or iSCSI attached to the guest for storage?&lt;/H3&gt;
&lt;P&gt;A: The decision depends on what features you need to expose to the guest. In the passthrough case the drive will show up without knowledge of the underlying LUN.&lt;/P&gt;
&lt;P&gt;Educated guess: If you are looking for raw performance passthough will give you the best result.&lt;/P&gt;
&lt;P&gt;Reason: When doing IO from the guest using passthough you traverse the guest storage stack + disk stack in the root. When doing iSCSI you traverse the storage + networking stack in the guest + root networking stack&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895331 name=_Toc248895331&gt;&lt;/A&gt;Q: Are there ways to reduce overall networking overhead?&lt;/H3&gt;
&lt;P&gt;A: The way to reduce storage overhead (ie adding CPU use) is to use passthrough disks. There are also ways to redu&lt;A title=_GoBack name=_GoBack&gt;&lt;/A&gt;ce networking overheads by using two new features in R2. One feature is called Virtual Machine Queues (VMQ) and the other is called Chimney Offload. VMQ reduces overheads by reducing the cost of routing incoming packets, more optimized copy paths, and better interrupt distribution. Chimney offload is helpful for long running connections. It also improves overhead by reducing copy path costs. The challenge is that no networking devices I’ve seen support both of these features. Typically they support VMQ or Chimney offload.&lt;/P&gt;
&lt;P&gt;If you have a device that supports one of these features the following article will help you configure it:&lt;/P&gt;
&lt;P&gt;Networking Deployment Guide: Deploying High-Speed Networking Features&lt;/P&gt;
&lt;P&gt;&lt;A href="http://download.microsoft.com/download/8/E/D/8EDE21BC-0E3B-4E14-AAEA-9E2B03917A09/HSN_Deployment_Guide.doc" mce_href="http://download.microsoft.com/download/8/E/D/8EDE21BC-0E3B-4E14-AAEA-9E2B03917A09/HSN_Deployment_Guide.doc"&gt;http://download.microsoft.com/download/8/E/D/8EDE21BC-0E3B-4E14-AAEA-9E2B03917A09/HSN_Deployment_Guide.doc&lt;/A&gt;&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895332 name=_Toc248895332&gt;&lt;/A&gt;Q: Are there additional knobs for performance nuts?&lt;/H3&gt;
&lt;P&gt;A: We are trying to make Hyper-V knob-less. However we are engineers and here are some tips.&lt;/P&gt;
&lt;P&gt;1. Remove the CDROM drive from the guest if you don’t need it&lt;/P&gt;
&lt;P&gt;2. Look into the Caps / Weights / Reserves in the CPU config. You can use these to “balance” workloads.&lt;/P&gt;
&lt;P&gt;3. You can use the WMI interfaces to force a VM to a particular node (&lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/09/28/Looking-for-that-last-once-of-performance_3F00_-Then-try-affinitizing-your-VM-to-a-NUMA-node-.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/09/28/Looking-for-that-last-once-of-performance_3F00_-Then-try-affinitizing-your-VM-to-a-NUMA-node-.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2008/09/28/Looking-for-that-last-once-of-performance_3F00_-Then-try-affinitizing-your-VM-to-a-NUMA-node-.aspx&lt;/A&gt;) Hyper-V does not guarantee node affinity for VP’s but it does for memory. There is a good chance the VP’s will stay on the node because the scheduler is NUMA aware.&lt;/P&gt;
&lt;H3&gt;&lt;A title=_Toc248895333 name=_Toc248895333&gt;&lt;/A&gt;Q: Are their additional resources that are useful for understanding Hyper-V?&lt;/H3&gt;
&lt;P&gt;A: Yes – here is a list&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://technet.microsoft.com/en-us/dd565807.aspx" mce_href="http://technet.microsoft.com/en-us/dd565807.aspx"&gt;http://technet.microsoft.com/en-us/dd565807.aspx&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.technet.com/virtualization" mce_href="http://blogs.technet.com/virtualization"&gt;http://blogs.technet.com/virtualization&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.technet.com/windowsserver/default.aspx" mce_href="http://blogs.technet.com/windowsserver/default.aspx"&gt;http://blogs.technet.com/windowsserver/default.aspx&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.technet.com/winserverperformance" mce_href="http://blogs.technet.com/winserverperformance"&gt;http://blogs.technet.com/winserverperformance&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/virtual_pc_guy/" mce_href="http://blogs.msdn.com/virtual_pc_guy/"&gt;http://blogs.msdn.com/virtual_pc_guy/&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.technet.com/jhoward/" mce_href="http://blogs.technet.com/jhoward/"&gt;http://blogs.technet.com/jhoward/&lt;/A&gt; &lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/tvoellm" mce_href="http://blogs.msdn.com/tvoellm"&gt;http://blogs.msdn.com/tvoellm&lt;/A&gt; &lt;/LI&gt;&lt;/UL&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9938979" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/viridian/default.aspx">viridian</category><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.msdn.com/tvoellm/archive/tags/FAQ/default.aspx">FAQ</category></item><item><title>Useful IO profiles for simulating various workloads</title><link>http://blogs.msdn.com/tvoellm/archive/2009/05/07/useful-io-profiles-for-simulating-various-workloads.aspx</link><pubDate>Thu, 07 May 2009 07:21:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9592789</guid><dc:creator>tvoellm</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/9592789.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=9592789</wfw:commentRss><description>&lt;P&gt;A buddy of mine [Liang Yang]&amp;nbsp;recently shared the following table with me and I thought you might also find it useful with trying to simulate various workloads.&amp;nbsp; In particular when testing and evaluating Hyper-V.&lt;/P&gt;
&lt;P&gt;A tool like IOMeter [from &lt;A href="http://www.iometer.org/"&gt;www.iometer.org&lt;/A&gt;] can be programmed with the mixes of reads/wrtes and sequential/random IO's detailed below.&lt;/P&gt;
&lt;P&gt;
&lt;TABLE style="MARGIN: auto auto auto 38.6pt; BORDER-COLLAPSE: collapse; mso-yfti-tbllook: 1184; mso-padding-alt: 0in 0in 0in 0in" class=MsoNormalTable border=0 cellSpacing=0 cellPadding=0 class="MsoNormalTable"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 154.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=206&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Workload Category&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 58.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=78&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;I/O Size&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 2.25in; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=216&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Percentage of READ vs. WRITE&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 247.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=330&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Percentage of RANDOM vs. SEQUENTIAL&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 154.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=206&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Web File Server&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 58.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=78&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;4KB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 2.25in; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=216&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;95% RD vs. 5% WR&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 247.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=330&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;75% RAND vs. 25%&amp;nbsp; SEQ&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 154.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=206&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Web File Server&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 58.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=78&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;8KB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 2.25in; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=216&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;95% RD vs. 5% WR&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 247.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=330&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;75% RAND vs. 25%&amp;nbsp; SEQ&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 154.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=206&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Web File Server&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 58.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=78&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;64KB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 2.25in; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=216&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;95% RD vs. 5% WR&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 247.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=330&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;75% RAND vs. 25%&amp;nbsp; SEQ&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 154.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=206&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Decision Support System DB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 58.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=78&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;1MB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 2.25in; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=216&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;READ&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 247.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=330&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;RANDOM&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 5"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 154.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=206&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Media Streaming&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 58.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=78&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;64KB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 2.25in; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=216&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;98% RD vs. 2% WR&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 247.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=330&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;SEQUENTIAL&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 6"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 154.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=206&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;SQL Server Log&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 58.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=78&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;64KB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 2.25in; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=216&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;WRITE&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 247.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=330&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;SEQUENTIAL&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 7"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 154.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=206&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;OS Paging&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 58.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=78&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;64KB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 2.25in; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=216&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;90% RD vs. 10% WR&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 247.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=330&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;SEQUENTIAL&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 8"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 154.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=206&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Web Server Log&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 58.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=78&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;8KB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 2.25in; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=216&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;WRITE&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 247.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=330&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;SEQUENTIAL&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 9"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 154.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=206&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;OLTP DB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 58.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=78&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;8KB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 2.25in; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=216&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;70% RD vs. 30% WR&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 247.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=330&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;RANDOM&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 10"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 154.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=206&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Exchange Server&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 58.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=78&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;4KB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 2.25in; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=216&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;67% RD vs. 33% WR&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 247.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=330&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;RANDOM&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 11"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 154.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=206&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Workstation&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 58.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=78&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;8KB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 2.25in; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=216&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;80% RD vs. 20% WR&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 247.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=330&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;80% RAND vs. 20% SEQ&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 12; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 154.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=206&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;Video on Demand&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 58.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=78&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;512KB&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 2.25in; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=216&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;READ&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 247.5pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in" vAlign=top width=330&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE: 12pt"&gt;&lt;FONT face=Calibri&gt;RANDOM&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;Enjoy - Tony Voellm&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;o:p&gt;&amp;nbsp; &lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9592789" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/tools/default.aspx">tools</category><category domain="http://blogs.msdn.com/tvoellm/archive/tags/storage/default.aspx">storage</category><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Monitoring Hyper-V Performance</title><link>http://blogs.msdn.com/tvoellm/archive/2009/04/23/monitoring-hyper-v-performance.aspx</link><pubDate>Thu, 23 Apr 2009 02:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9563539</guid><dc:creator>tvoellm</dc:creator><slash:comments>5</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/9563539.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=9563539</wfw:commentRss><description>&lt;P&gt;Now that Hyper-V has been in the market for over 9 months a common question that has come my way is “what should I monitor?” This question has been asked for a couple of reasons such as; How do I know if my machine is overloaded? How can I figure out what resources were used so I know what to bill? These questions usually amount to measuring the networking, storage, and CPU use. Another common question is where do you monitor Hyper-V? I’ll cover these questions and more. &lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q: Where do I monitor Hyper-V?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Let’s start with the question of where to monitor. In order to answer this question you have understand a little of the Hyper-V architecture. Hyper-V has three main components – the virtstack, devices, and hypervisor. Windows Server 2008 is what boots the system and launches the virtstack and hypervisor. The virtstack responsible for handling emulated devices, managing VM’s, servicing I/O, and more. The hypervisor is responsible for scheduling Virtual Processors, managing interrupts, servicing timers, and controlling other chip level functions. It does not understand devices or I/O (ie there are no hypervisor drivers). The devices are part of the root and are also installed in guests as part of the Integration Services.&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/blogfiles/tvoellm/WindowsLiveWriter/MonitoringHyperVPerformance_E7CB/image_2.png" mce_href="http://blogs.msdn.com/blogfiles/tvoellm/WindowsLiveWriter/MonitoringHyperVPerformance_E7CB/image_2.png"&gt;&lt;IMG style="BORDER-BOTTOM: 0px; BORDER-LEFT: 0px; DISPLAY: block; FLOAT: none; MARGIN-LEFT: auto; BORDER-TOP: 0px; MARGIN-RIGHT: auto; BORDER-RIGHT: 0px" title=image border=0 alt=image src="http://blogs.msdn.com/blogfiles/tvoellm/WindowsLiveWriter/MonitoringHyperVPerformance_E7CB/image_thumb.png" width=502 height=379 mce_src="http://blogs.msdn.com/blogfiles/tvoellm/WindowsLiveWriter/MonitoringHyperVPerformance_E7CB/image_thumb.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Since the root has a full view of the system and controls the VM’s it is also responsible for providing monitoring information via WMI and Performance Counters. You can see a full list of performance counters that are provided from the root @ &lt;A href="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx&lt;/A&gt; . See the WMI reference on MSDN @ &lt;A href="http://msdn.microsoft.com/en-us/library/cc136992(VS.85).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc136992(VS.85).aspx"&gt;http://msdn.microsoft.com/en-us/library/cc136992(VS.85).aspx&lt;/A&gt; . A common question is can you monitor a Virtual Machine from within the running guest? From within the guest there is only access to the performance counters provided by the OS that is running in the guest. All those should work as expected however keep in mind that utilization counters (like % Processor) are relative to the amount of virtual processor used. Not the physical processor. So it might appear the utilization counters are over reporting the actual physical resource usage. Rate counters (like network packets / sec) don’t have this problem. For more on guest counter skew see &lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/03/20/hyper-v-clocks-lie.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/03/20/hyper-v-clocks-lie.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2008/03/20/hyper-v-clocks-lie.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;We could have provided some VM specific data inside the guest and might in the future. However our current thinking is not to do this. If you are running a Windows OS or have a tool that understands the WMI protocol you can use the remote management API’s to query the root (see msdn.microsoft.com for WMI documentation on how to do this). You can also do this from outside the physical server as well and tools like System Center Virtual Machine Manager. &lt;/P&gt;
&lt;P&gt;Now that you know to monitor Hyper-V and all virtual machines from the root partition let’s look at what you should monitor.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Q: What should I monitor?&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;What you monitor on a regular basis really depends on what you are trying to do. I’ll cover the major resources and what to typically monitor. This will be a good starting point for you.&lt;/P&gt;
&lt;P&gt;Here are the top level performance counters to monitor and I’ll go into more detail on each;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Overall health:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Hyper-V Virtual Machine Health Summary&lt;/LI&gt;
&lt;LI&gt;Hyper-V Hypervisor &lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Processor:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Processor&lt;/LI&gt;
&lt;LI&gt;Hyper-V Hypervisor Logical Processor&lt;/LI&gt;
&lt;LI&gt;Hyper-V Hypervisor Root Virtual Processor&lt;/LI&gt;
&lt;LI&gt;Hyper-V Hypervisor Virtual Processor&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Memory:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Memory&lt;/LI&gt;
&lt;LI&gt;Hyper-V Hypervisor Partition&lt;/LI&gt;
&lt;LI&gt;Hyper-V Root Partition&lt;/LI&gt;
&lt;LI&gt;Hyper-V VM Vid Partition&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Networking:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Network Interface&lt;/LI&gt;
&lt;LI&gt;Hyper-V Virtual Switch&lt;/LI&gt;
&lt;LI&gt;Hyper-V Legacy Network Adapter&lt;/LI&gt;
&lt;LI&gt;Hyper-V Virtual Network Adapter&lt;/LI&gt;&lt;/UL&gt;
&lt;LI&gt;Storage:&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;Physical Disk&lt;/LI&gt;
&lt;LI&gt;Hyper-V Virtual Storage Device&lt;/LI&gt;
&lt;LI&gt;Hyper-V Virtual IDE Controller&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;Now let’s go into each counter set and how to use them to monitor the system. As time allows I have been documenting each performance counter set on my blog. &lt;/P&gt;
&lt;P&gt;You should take note of the &lt;B&gt;&lt;I&gt;bold italics&lt;/I&gt;&lt;/B&gt; because they represent the names of counters sets and counters.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Overall health:&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;There are really two counter sets I use to get an overall understanding of the system . The first is the “&lt;B&gt;&lt;I&gt;Hyper-V Virtual Machine Health Summary”&lt;/I&gt;&lt;/B&gt; which only has two counters; “&lt;B&gt;&lt;I&gt;Health Ok” &lt;/I&gt;&lt;/B&gt;and&lt;I&gt; “&lt;B&gt;Health Critical”&lt;/B&gt;&lt;/I&gt;. If anything is Critical it means some resource (most likely disk) has been exhausted or other unrecoverable error has occurred. If you server see “&lt;B&gt;&lt;I&gt;Health Critical” &lt;/I&gt;&lt;/B&gt;you should take action to figure out what has happened.&lt;/P&gt;
&lt;P&gt;The second counter set is the “&lt;B&gt;&lt;I&gt;Hyper-V Hypervisor”&lt;/I&gt;&lt;/B&gt; counter set which is detailed here - &lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/05/09/hyper-v-performance-counters-part-two-of-many-hyper-v-hypervisor-counter-set.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/05/09/hyper-v-performance-counters-part-two-of-many-hyper-v-hypervisor-counter-set.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2008/05/09/hyper-v-performance-counters-part-two-of-many-hyper-v-hypervisor-counter-set.aspx&lt;/A&gt; . I like to use this counter set to understand how many Logical Processors the system recognizes (&lt;B&gt;&lt;I&gt;Logical Processor&lt;/I&gt;&lt;/B&gt;), the number of virtual machines running (“&lt;B&gt;&lt;I&gt;Partitions”&lt;/I&gt;&lt;/B&gt; – 1), and the total number of Virtual Processors (&lt;B&gt;&lt;I&gt;Virtual Processors&lt;/I&gt;&lt;/B&gt;). The logical processors (LP) are important because they are where all the work is done. They are a representation of the physical processor (core or CPU thread like HT and SMT). The virtual processors (VPs) tell you something about the guests and also if the system is overloaded. You should make sure the VP to LP ratio does not exceed eight to one because we don’t currently support beyond this limit. Hyper-V does not set a hard cap so you can exceed it. Just understand you are in largely untested configuration and might see guest failures beyond 8:1. Some other limits to be aware of is WS08 Hyper-V supports only 24 Logical Processors (LPs) and Windows Server 2008 R2 Hyper-V has a current stated limit of 32 LPs as of Windows Server 2008 R2 Beta. We will likely push this limit up.&lt;/P&gt;
&lt;P&gt;The last counter in the “&lt;B&gt;&lt;I&gt;Hyper-V Hypervisor”&lt;/I&gt;&lt;/B&gt; counter set that I use is the “&lt;B&gt;&lt;I&gt;Total Pages”&lt;/I&gt;&lt;/B&gt;. This counter gives an indication of how much meta data memory the Hypervisor is using to manage the virtual machine. Unfortunately this counter does not capture all the overhead because another component called the Virtual Interface Driver (VID) also has overhead to manage partitions and in WS08 the “&lt;B&gt;&lt;I&gt;Hyper-V VID Partition”&lt;/I&gt;&lt;/B&gt; does not work . The good news is this counter set does work in Windows Server 2008 R2.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Processor:&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;Once you have an idea of the overall system capabilities and configuration though the “&lt;B&gt;&lt;I&gt;Hyper-V Hypervisor”&lt;/I&gt;&lt;/B&gt; counter set you will want to monitor the processors on the system. The most important counter set to monitor is the “&lt;B&gt;&lt;I&gt;Hyper-V Hypervisor Logical&lt;/I&gt;&lt;/B&gt; &lt;B&gt;&lt;I&gt;Processor”&lt;/I&gt;&lt;/B&gt;. This counter set allows you to determine how much of the physical processor are being used. The virtual processor counter sets only show a slice of the “&lt;B&gt;&lt;I&gt;Hyper-V Hypervisor Logical Processor”.&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Hyper-V Hypervisor Logical Processor&lt;/LI&gt;
&lt;LI&gt;Hyper-V Hypervisor Root Virtual Processor&lt;/LI&gt;
&lt;LI&gt;Hyper-V Hypervisor Virtual Processor&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The &lt;B&gt;&lt;I&gt;Hyper-V Hypervisor Logical Processor&lt;/I&gt;&lt;/B&gt; counter set is detailed here - &lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/05/09/hyper-v-performance-counters-part-three-of-many-hyper-v-logical-processors-counter-set.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/05/09/hyper-v-performance-counters-part-three-of-many-hyper-v-logical-processors-counter-set.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2008/05/09/hyper-v-performance-counters-part-three-of-many-hyper-v-logical-processors-counter-set.aspx&lt;/A&gt;. The most useful counters in this counter set are the following;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;%Guest Run &lt;/LI&gt;
&lt;LI&gt;%Hypervisor Run Time &lt;/LI&gt;
&lt;LI&gt;%Idle Run Time&lt;/LI&gt;
&lt;LI&gt;%Total Run Time&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I generally only look at the _Totals. There is one logical processor that that carries more load than the rest and that is LP0. This LP is where all interrupts in the system are directed and if there is too much load you can see this LP hit 100% which likely means IO is a bottleneck in the system. There are some technologies in Windows Server 2008 R2 that help reduce the load for networking and those are – VMQ, Chimney and RSS. There is no RSS support in guest VM’s.&lt;/P&gt;
&lt;P&gt;The “&lt;B&gt;&lt;I&gt;Hyper-V Hypervisor Root Virtual Processor”&lt;/I&gt;&lt;/B&gt; and “&lt;B&gt;&lt;I&gt;Hyper-V Hypervisor Virtual Processor”&lt;/I&gt;&lt;/B&gt;&lt;I&gt; &lt;/I&gt;are just slices of the LP counter and can help you understand how much total CPU the root and guests are using on the system. These counters are detailed here - &lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/05/12/hyper-v-performance-counters-part-four-of-many-hyper-v-hypervisor-virtual-processor-and-hyper-v-hypervisor-root-virtual-processor-counter-set.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/05/12/hyper-v-performance-counters-part-four-of-many-hyper-v-hypervisor-virtual-processor-and-hyper-v-hypervisor-root-virtual-processor-counter-set.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2008/05/12/hyper-v-performance-counters-part-four-of-many-hyper-v-hypervisor-virtual-processor-and-hyper-v-hypervisor-root-virtual-processor-counter-set.aspx&lt;/A&gt; . There are real no limits one should expect for these counters however I generally expect to see the “% Hypervisor Time” be below 25%. Any higher and this could indicate you are not running with integration services installed. You should always make sure you have Integration Services installed for the best performance. See this link for me detail - &lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/01/02/hyper-v-integration-components-and-enlightenments.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/01/02/hyper-v-integration-components-and-enlightenments.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2008/01/02/hyper-v-integration-components-and-enlightenments.aspx&lt;/A&gt; .&lt;/P&gt;
&lt;P&gt;You should also monitor the “&lt;B&gt;&lt;I&gt;Processor”&lt;/I&gt;&lt;/B&gt; counter set. This counter set is only for the root CPU and does suffer from skew as detailed here - &lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/03/20/hyper-v-clocks-lie.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/03/20/hyper-v-clocks-lie.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2008/03/20/hyper-v-clocks-lie.aspx&lt;/A&gt;. Even with the skew this counter set is useful because it gives you an idea of how busy the root is. Remember the root is involved in all IO. This means that when the root CPU’s are saturated your whole system is likely saturated. In general you want to see the root CPU lower than 10% utilization and over 50% might indicate an issue.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Memory:&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;A common question I get is – “how much memory is a VM using?” There is no simple answer because different layers account for memory. For example the &lt;B&gt;&lt;I&gt;“Hyper-v [Root] Partition”&lt;/I&gt;&lt;/B&gt; counters determine how much memory the Hypervisor is managing and using on behalf of a VM which includes the guest address space but not all the memory in the worker process and VID partition. The “&lt;B&gt;&lt;I&gt;Hyper-V VM Vid Partition” &lt;/I&gt;&lt;/B&gt;counters account for the guest address space and any additional memory the VID needs to manage the VM. Nothing accounts for the memory in the Worker Process that is paired with the Hypervisor and VID Partition except the root processor memory counters but I know of no way to figure out what the pairing is. The root also uses memory to service IO on behalf of a VM and there is no accounting of this memory other than in the “&lt;B&gt;&lt;I&gt;Memory”&lt;/I&gt;&lt;/B&gt; counters which is not VM specific.&lt;/P&gt;
&lt;P&gt;The following are the counter sets one should monitor in general; &lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Hyper-V Hypervisor Partition&lt;/LI&gt;
&lt;LI&gt;Hyper-V Hypervisor Root Partition&lt;/LI&gt;
&lt;LI&gt;Hyper-V VM Vid Partition&lt;/LI&gt;
&lt;LI&gt;Memory&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The &lt;B&gt;&lt;I&gt;Hyper-V Hypervisor [ROOT] Partition&lt;/I&gt;&lt;/B&gt; counters are interesting because they indicate in the &lt;B&gt;&lt;I&gt;“1G GPA Pages” &lt;/I&gt;&lt;/B&gt;and &lt;B&gt;&lt;I&gt;“2M GPA Pages”&lt;/I&gt;&lt;/B&gt; counters whether or not a VM is using large pages which improves overall VM performance. Large pages are only used on systems that have vTLB hardware support. See more on vTLB support here – &lt;A href="http://blogs.msdn.com/tvoellm/archive/2009/04/06/why-does-my-desktop-box-slowdown-when-i-install-hyper-v.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2009/04/06/why-does-my-desktop-box-slowdown-when-i-install-hyper-v.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2009/04/06/why-does-my-desktop-box-slowdown-when-i-install-hyper-v.aspx&lt;/A&gt; . The partition counter set also indicates in the &lt;B&gt;&lt;I&gt;“Deposited Pages”&lt;/I&gt;&lt;/B&gt; counter how much memory the hypervisor is using for managing the VM. To figure out most of the memory used for the VM in Megabytes you can use the following formula; almost_total_vm_memory = “1G GPA Pages” * 1024 + (“2M GPA Pages” * 2) + ((“4K GPA Pages” + “Deposited pages”) / 256). The last counter that is interesting in the partition counter set is the &lt;B&gt;&lt;I&gt;“Virtual Processors”&lt;/I&gt;&lt;/B&gt; counter which lets you know how many Virtual Processors a VM is configured to use.&lt;/P&gt;
&lt;P&gt;The &lt;B&gt;&lt;I&gt;Hyper-V VM Vid Partition&lt;/I&gt;&lt;/B&gt; counters have two interesting counters. The “&lt;B&gt;&lt;I&gt;Physical Pages Allocated”&lt;/I&gt;&lt;/B&gt; is the total number of guest pages and VID pages needed to manage the VM. The &lt;B&gt;&lt;I&gt;“Remote Physical Pages”&lt;/I&gt;&lt;/B&gt; let you know on NUMA based systems if a VM is spanning multiple nodes. You really want to avoid this whenever possible. You can require a VM to start of a particular node or nothing by using the API at &lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/09/28/Looking-for-that-last-once-of-performance_3F00_-Then-try-affinitizing-your-VM-to-a-NUMA-node-.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/09/28/Looking-for-that-last-once-of-performance_3F00_-Then-try-affinitizing-your-VM-to-a-NUMA-node-.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2008/09/28/Looking-for-that-last-once-of-performance_3F00_-Then-try-affinitizing-your-VM-to-a-NUMA-node-.aspx&lt;/A&gt; . Another way is to stop and restart the VM and if possible Hyper-V will allocate all memory on a single NUMA node.&lt;/P&gt;
&lt;P&gt;The &lt;B&gt;&lt;I&gt;Memory&lt;/I&gt;&lt;/B&gt; counter set allows you to monitor how much memory is being consumed in the root. The root is responsible for managing all memory in Hyper-V.&amp;nbsp; When a VM starts you will see the "&lt;STRONG&gt;&lt;EM&gt;Available Bytes&lt;/EM&gt;&lt;/STRONG&gt;" go down by at least the amount of memory given to the guest plus around another 16 - 64MB for guests meta data structures.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;My recommendation is to monitor the following counters;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;EM&gt;Available Bytes&lt;/EM&gt;&lt;/STRONG&gt; - This will give you an idea of how much memory is remaining for guests.&amp;nbsp; There is a reserve of 256MBytes or 512MBytes that the root will always leave outside of guest memory.&amp;nbsp; The exact amount varies but Hyper-V release. So if you find a time when a VM wont start it may be there are too few available bytes to satisfy the reserve.&lt;/LI&gt;
&lt;LI&gt;&lt;STRONG&gt;&lt;EM&gt;Pages / Sec&lt;/EM&gt;&lt;/STRONG&gt; - This is a measure of memory pressure since it tracks hard faults.&amp;nbsp; Those are page faults that require a disk access.&amp;nbsp; Usually the cause for the number to spike is when there are two few available bytes on the system and processes are competing with each other for physical RAM.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Networking: &lt;/B&gt;&lt;B&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The network counters are useful for monitoring the overall networking performance on the system. The most important thing to generally monitor is the total throughput counters to make sure the NICs are not getting saturated. Once the NICs are saturated your overall system performance will be capped because no more web requests, remote storage requests, queries, etc can be received than what is currently being handled. The first counter set &lt;B&gt;&lt;I&gt;“Network Interface” &lt;/I&gt;&lt;/B&gt;gives the overall performance of physical device where as the other counter sets listed below represent the activity of the virtual switches and network adapters in the VM’s.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Network Interface&lt;/LI&gt;
&lt;LI&gt;Hyper-V Virtual Switch&lt;/LI&gt;
&lt;LI&gt;Hyper-V Legacy Network Adapter&lt;/LI&gt;
&lt;LI&gt;Hyper-V Virtual Network Adapter&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;For the &lt;B&gt;&lt;I&gt;Network Interface&lt;/I&gt;&lt;/B&gt; the following are the top level counters to monitor;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Bytes Total / Sec&lt;/LI&gt;
&lt;LI&gt;Offloaded Connections &lt;/LI&gt;
&lt;LI&gt;Packets / Sec&lt;/LI&gt;
&lt;LI&gt;Packets Outbound Errors&lt;/LI&gt;
&lt;LI&gt;Packets Receive Errors&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;However if I’m going to monitor networking I generally look at all the counters. Mostly you want to make sure the network is not saturating and that the error counts are low. If the error counts grow rapidly you might have too much load on the system or some problem in end- to-end connectivity (including hardware).&lt;/P&gt;
&lt;P&gt;The “&lt;B&gt;&lt;I&gt;Hyper-V Virtual Switch”&lt;/I&gt;&lt;/B&gt; counters are good to monitor because depending on how you have configured your network some or all of the traffic might only exist on the virtual switch. For example guest to guest packets don’t have to leave the machine to be routed and in fact on an internal network switch there is no physical adapter connected. In a future blog post I’ll detail what each counter means. The most useful ones are;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Bytes/Sec&lt;/LI&gt;
&lt;LI&gt;Packets/Sec&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The “&lt;B&gt;&lt;I&gt;Hyper-V Virtual Network Adapter”&lt;/I&gt;&lt;/B&gt; and the &lt;B&gt;&lt;I&gt;“Hyper-V Legacy Network Adapter&lt;/I&gt;&lt;/B&gt;&lt;I&gt;” &lt;/I&gt;counter sets allow you to see how much ingress and egress a VM is doing. This counter sets are named with the friendly name of the VM plus the name of the network adapter followed by two GUIDs. The GUIDs are the internal id of the VM and adapter which is important when querying via WMI.&lt;/P&gt;
&lt;P&gt;There are two counter sets because there are two types of virtual network card you can assign to a VM. If you assign a &lt;I&gt;Legacy Network Adapter&lt;/I&gt; then the counter set you should use is the &lt;B&gt;&lt;I&gt;“Hyper-V Legacy Network Adapter”&lt;/I&gt;&lt;/B&gt;. In general you should not use the network adapter type because it is not enlightened, creates a lot of CPU load in the root, and is generally slower than the &lt;I&gt;Network Adapter.&lt;/I&gt; The challenge is you need the &lt;I&gt;Legacy Network Adapter &lt;/I&gt;to get a VM working before installing Integration Services. Once your VM is working with Integration Services you should use the &lt;I&gt;Network Adapter&lt;/I&gt; and the “&lt;B&gt;&lt;I&gt;Hyper-V Virtual Network Adapter”&lt;/I&gt;&lt;/B&gt; counter set. Keep in mind Windows Server 2008 and Windows Server 2008 R2 both have integration Services pre-installed.&lt;/P&gt;
&lt;P&gt;The &lt;B&gt;&lt;I&gt;“Hyper-V Legacy Network Adapter”&lt;/I&gt;&lt;/B&gt; counters to monitor are;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Bytes Dropped&lt;/LI&gt;
&lt;LI&gt;Bytes Sent / Sec&lt;/LI&gt;
&lt;LI&gt;Bytes Received / Sec&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;In the “&lt;B&gt;&lt;I&gt;Hyper-V Virtual Network Adapter”&lt;/I&gt;&lt;/B&gt; you should monitor;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Bytes / Sec&lt;/LI&gt;
&lt;LI&gt;Packets / Sec&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;B&gt;Storage:&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;The storage counters are useful for monitoring the overall disk performance on the system as well as for each VM. The first counter “&lt;B&gt;&lt;I&gt;Physical &lt;/I&gt;Disk &lt;/B&gt;set will give overall storage performance on the system. The next two are strictly for VM’s.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Physical Disk&lt;/LI&gt;
&lt;LI&gt;Hyper-V Virtual Storage Device&lt;/LI&gt;
&lt;LI&gt;Hyper-V Virtual IDE Controller&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Inside the “&lt;B&gt;&lt;I&gt;Physical Disk&lt;/I&gt;&lt;/B&gt;” counter set I tend to monitor only three things. The first is &lt;B&gt;&lt;I&gt;“Current Disk Queue Length”&lt;/I&gt;&lt;/B&gt; which gives one an idea of how busy the drives are. The &lt;B&gt;&lt;I&gt;“Current Disk Queue Length”&lt;/I&gt;&lt;/B&gt; should be around two per drive. If you have a RAID 10 volume with 4+4 (total of 8 drives). Then a queue length of 16 is reasonable. A queue length of 32 might indicate this disk is saturated and is the bottleneck in the system. The next counter I monitor is the &lt;B&gt;&lt;I&gt;“Disk Bytes / Sec”.&lt;/I&gt;&lt;/B&gt; I generally expect to see about 10MB/sec per drive which is a fairly safe number for most drives. Some can do better and some worse. So for the RAID 10 4+4 a throughput of around 80MB/sec is reasonable for sequential workloads whereas 10MB/sec is not. For random workloads I look at the last counter &lt;B&gt;&lt;I&gt;“Disk Transfers / Sec”&lt;/I&gt;&lt;/B&gt; and expect to see about 100 IO’s per second (IOPs) per drive. Once again there are drives that do much better like 180 IOPs and some that do worse like laptop drives which are around 60 IOPS. For the RAID 10 4+4 around 800 IOPs for 8Kbytes reads and writes is reasonable. Generally writes are a bit lower.&lt;/P&gt;
&lt;P&gt;There are two Hyper-V storage counter sets because of how storage works in Hyper-V. In Hyper-V we provide two virtual storage buses for VM’s. One is IDE and one is SCSI. The Virtual IDE counters show up in the &lt;B&gt;&lt;I&gt;“Hyper-V Virtual IDE Controller”&lt;/I&gt;&lt;/B&gt; counter set unless Integration Services are loaded and then you will see the activity for both virtual IDE and SCSI in the &lt;B&gt;&lt;I&gt;“Hyper-V Virtual Storage Device” &lt;/I&gt;&lt;/B&gt;counter set. If you don’t have integration services installed the only the &lt;B&gt;&lt;I&gt;“Hyper-V Virtual IDE Controller”&lt;/I&gt;&lt;/B&gt; will show the VM disk activity. If you want to read more on Hyper-V storage check out this link – &lt;A href="http://blogs.msdn.com/tvoellm/archive/2007/10/13/what-windows-server-virtualization-aka-viridian-storage-is-best-for-you.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2007/10/13/what-windows-server-virtualization-aka-viridian-storage-is-best-for-you.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2007/10/13/what-windows-server-virtualization-aka-viridian-storage-is-best-for-you.aspx&lt;/A&gt; .&lt;/P&gt;
&lt;P&gt;I tend to monitor the all the counters on both the &lt;B&gt;&lt;I&gt;“Hyper-V Virtual IDE Controller”&lt;/I&gt;&lt;/B&gt; and &lt;B&gt;&lt;I&gt;“Hyper-V Virtual Storage Device”&lt;/I&gt;&lt;/B&gt; because there is just the basics set.&lt;/P&gt;
&lt;P&gt;For the &lt;B&gt;&lt;I&gt;“Hyper-V Virtual IDE Controller”&lt;/I&gt;&lt;/B&gt; there are;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Read Bytes / Sec&lt;/LI&gt;
&lt;LI&gt;Write Bytes / Sec&lt;/LI&gt;
&lt;LI&gt;Read Sectors / Sec&lt;/LI&gt;
&lt;LI&gt;Write Sectors / Sec&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;And for &lt;B&gt;&lt;I&gt;“Hyper-V Virtual Storage Device” &lt;/I&gt;&lt;/B&gt;there are;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Error Count&lt;/LI&gt;
&lt;LI&gt;Flush Count&lt;/LI&gt;
&lt;LI&gt;Read Bytes / Sec&lt;/LI&gt;
&lt;LI&gt;Write Bytes / Sec&lt;/LI&gt;
&lt;LI&gt;Read Count&lt;/LI&gt;
&lt;LI&gt;Write Count&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;The Error count should always be zero for the virtual storage device.&lt;/P&gt;
&lt;P&gt;&lt;B&gt;Conclusion&lt;/B&gt;:&lt;/P&gt;
&lt;P&gt;There are many counters in Hyper-V which provide useful information and will help you understand what the system is doing. The table below summarizes the counters above in a perfmon like format. Note that you should not always collect all instances in a counter set. Some counter sets have too many counters to collect all instances. If you attempt to collect all counters for all instances you might see periods in the data that are empty. This means the system is not keeping up the amount of counters requested.&lt;/P&gt;
&lt;P&gt;In the table below you will see (_Total) or (*). (_Total) means only the total should be collected. (*) means collect all counters. \* means collect all the counters in the counter set. \&amp;lt;name&amp;gt; means only collect that counter. This is the notation perfmon uses in its collection files.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;\Hyper-V Virtual Machine Health Summary \*&lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor\*&lt;/P&gt;
&lt;P&gt;\Processor(_Total)\*&lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor Logical Processor(*)\%Guest Run &lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor Logical Processor(*)\%Hypervisor Run Time &lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor Logical Processor(*)\%Idle Run Time &lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor Logical Processor(*)\%Total Run Time &lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor Root Virtual Processor (*)\%Guest Run &lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor Root Virtual Processor (*)\%Hypervisor Run Time &lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor Root Virtual Processor (*)\%Idle Run Time &lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor Root Virtual Processor (*)\%Total Run Time &lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor Virtual Processor (_Total)\* &lt;/P&gt;
&lt;P&gt;\Memory\Pages / Sec&lt;/P&gt;
&lt;P&gt;\Memory\Available Bytes&lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor Partition(*)\2G GPA Pages&lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor Partition(*)\Deposited Pages&lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor Partition(*)\Virtual Processors&lt;/P&gt;
&lt;P&gt;\Hyper-V Hypervisor Root Partition(*)\*&lt;/P&gt;
&lt;P&gt;\Hyper-V VM Vid Partition(*)\Physical Pages Allocated&lt;B&gt;&lt;I&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;\Hyper-V VM Vid Partition(*)\Remote Physical Pages&lt;B&gt;&lt;I&gt;&lt;/I&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P&gt;\Network Interface(*)\*&lt;/P&gt;
&lt;P&gt;\Hyper-V Virtual Switch(*)\*&lt;/P&gt;
&lt;P&gt;\Hyper-V Legacy Network Adapter(*)\*&lt;/P&gt;
&lt;P&gt;\Hyper-V Virtual Network Adapter(*)\*&lt;/P&gt;
&lt;P&gt;\Physical Disk(*)\Current Disk Queue Length&lt;/P&gt;
&lt;P&gt;\Physical Disk(*)\Disk Bytes / sec&lt;/P&gt;
&lt;P&gt;&lt;B&gt;&lt;I&gt;&lt;/I&gt;&lt;/B&gt;\Physical Disk(*)\Disk Transfers/sec&lt;/P&gt;
&lt;P&gt;\Hyper-V Virtual Storage Device(*)\*&lt;/P&gt;
&lt;P&gt;\Hyper-V Virtual IDE Controller(*)\*&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=9563539" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx">Hyper-V Performance Counters</category></item><item><title>SQL Server 2008 on Windows Server 2008 Hyper-V Performance Guidance</title><link>http://blogs.msdn.com/tvoellm/archive/2008/10/07/sql-server-2008-on-windows-server-2008-hyper-v-performance-guidance.aspx</link><pubDate>Tue, 07 Oct 2008 03:30:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8980138</guid><dc:creator>tvoellm</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/8980138.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=8980138</wfw:commentRss><description>&lt;P&gt;Wow this is great day.&amp;nbsp; The SQL team has worked really hard in creating a performance guidance document with solid suggestions and performance numbers when running on WS08 Hyper-V.&lt;/P&gt;
&lt;P&gt;They looked at OLAP and OLTP workloads.&amp;nbsp; Even if you are not running SQL it will give you and idea of how other database like workloads are likely to perform.&lt;/P&gt;
&lt;P&gt;Check it out...&lt;BR&gt;&lt;A href="http://sqlcat.com/whitepapers/archive/2008/10/03/running-sql-server-2008-in-a-hyper-v-environment-best-practices-and-performance-recommendations.aspx"&gt;http://sqlcat.com/whitepapers/archive/2008/10/03/running-sql-server-2008-in-a-hyper-v-environment-best-practices-and-performance-recommendations.aspx&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8980138" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Show+me+the+numbers/default.aspx">Show me the numbers</category></item><item><title>Hyper-V Performance Counters - Part five of many - "Hyper-VM VM Vid Numa Node"</title><link>http://blogs.msdn.com/tvoellm/archive/2008/09/29/hyper-v-performance-counters-part-five-of-many-hyper-vm-vm-vid-numa-node.aspx</link><pubDate>Mon, 29 Sep 2008 06:36:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8968402</guid><dc:creator>tvoellm</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/8968402.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=8968402</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;There are a couple of performance counter sets in Hyper-V that show memory usage.&amp;nbsp; These counters tend to show memory used by one component of the system and the "Hyper-V VM Vid Numa Node" counter set is no different.&amp;nbsp;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;This counter set is intended to show memory used by the Virtual Infrastructure Driver (Vid).&amp;nbsp; The good news is this counter set shows "guest physical memory".&amp;nbsp; This memory includes the allocation you specify when creating the VM and some other support memory like video memory.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It is the majority of the memory used by the Virtual Machine (VM).&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Hyper-V VM Vid Numa Node shows memory on a per node basis.&amp;nbsp; If you have an AMD machine you will likely see a Non-uniform Memory Access (NUMA) node for each processor.&amp;nbsp; If you have an Intel based machine you will see anywhere from one to many nodes depending on the architecture.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;The following are the performance counters in the counter set;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;UL type=disc&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;PageCount&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; &lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;- Number of 4K pages that the node contains.&amp;nbsp; To find the total physical memory on the system you would add PageCount from each NUMA node and multiply by 4Kbytes.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;PagesInUse&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt; &lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;- Number of pages in use by the Vid on this node.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Keep in mind this is most but now all memory supporting a VM. &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;
&lt;LI class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-list: l0 level1 lfo1; tab-stops: list .5in; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;ProcessorCount&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;- Number of logical processors this node contains.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Logical process are equal to the number of processor (sockets) * number of cores per processor * 2 if you have HyperThreading (HT) or now called Symmetric Multithreading (SMT) &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Enjoy,&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Anthony F. Voellm (aka Tony)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8968402" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx">Hyper-V Performance Counters</category></item><item><title>Looking for that last ounce of performance?  Then try affinitizing your VM to a NUMA node</title><link>http://blogs.msdn.com/tvoellm/archive/2008/09/28/Looking-for-that-last-once-of-performance_3F00_-Then-try-affinitizing-your-VM-to-a-NUMA-node-.aspx</link><pubDate>Mon, 29 Sep 2008 00:22:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8519969</guid><dc:creator>tvoellm</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/8519969.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=8519969</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;There are not many performance knobs in Hyper-V which is by design.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;We really seek out of the box performance.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;However if you are looking for that last bit of performance from your Virtual Machines (VM’s) and have already made a good selection for networking and storage you might consider setting the Non-Uniform Access (NUMA) node.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;On AMD and some Intel based architectures the machine might be defined as NUMA.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You can find out if the machine is NUMA by looking at the &lt;/SPAN&gt;&lt;SPAN lang=EN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN"&gt;&lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/09/29/hyper-v-performance-counters-part-five-of-many-hyper-vm-vm-vid-numa-node.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/09/29/hyper-v-performance-counters-part-five-of-many-hyper-vm-vm-vid-numa-node.aspx"&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'"&gt;"Hyper-VM VM Vid Numa Node"&lt;/SPAN&gt;&lt;/A&gt;&lt;/SPAN&gt;&lt;SPAN lang=EN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: 'Times New Roman'; mso-ansi-language: EN"&gt; &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;performance counters.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This counter set will report a counter set instance for each NUMA node unless the machine is a single node.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;NUMA means each CPU has a different path to memory and those paths can have various lengths.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For example CPU 0 on Node 0 when accessing CPU M’s memory on Node X might take 10ns where as CPU 0 on Node 0 accessing CPU N’s memory on Node Y will take 20ns.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;It’s this difference in memory access times that can impact overall VM performance.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The worst case would be for a VM’s Virtual Processor (VP) to be running on a node furthest from where the memory for the VM is allocated.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;In order to improve performance you can place VM’s on different nodes.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In addition to placing the memory the Hypervisor scheduler will attempt to run the VM’s VP’s near where the memory where the VM is allocated.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This creates a dual affinity which can be very beneficial.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;If you would like to try placing VM’s on different nodes to improve performance you can use the code sample below to place the VM.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Example 1 – List currently configured VM’s&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8pt; BACKGROUND: #dbe5f1; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt; mso-shading-themecolor: accent1; mso-shading-themetint: 51"&gt;C:\&amp;gt; .\numa.ps1 /list&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Example 2 – Set NUMA affinity to node 1.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Node numbering starts at node 0&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8pt; BACKGROUND: #dbe5f1; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt; mso-shading-themecolor: accent1; mso-shading-themetint: 51"&gt;C:\&amp;gt; numa.ps1 /set tonyvm 1&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Example 3 -&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Clear NUMA affinity&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 8pt; BACKGROUND: #dbe5f1; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt; mso-shading-themecolor: accent1; mso-shading-themetint: 51"&gt;C:\&amp;gt; numa.ps1 /clear tonyvm&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Enjoy,&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Anthony F. Voellm (aka Tony)&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt; LINE-HEIGHT: normal; mso-margin-top-alt: auto; mso-margin-bottom-alt: auto"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;Save the following powershell script into a file named numa.ps1.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;WS08 has powershell as part of the release if you are running management from a remote machine that is XP / Vista you can download powershell here &lt;A href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx" mce_href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx"&gt;http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;SPAN style="FONT-SIZE: 9pt; LINE-HEIGHT: 115%; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;################################################&lt;BR&gt;# Developer: Anthony F. Voellm&lt;BR&gt;#&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; : Taylor Brown&lt;BR&gt;# Copyright (c) 2008 by Microsoft Corporation&lt;BR&gt;# All rights reserved&lt;BR&gt;#&lt;BR&gt;# This is "demonstration" code and there are no&lt;BR&gt;# warrantees expressed or implied&lt;BR&gt;################################################&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;# This script will set the Virtual Machine to run&lt;BR&gt;# on a specific NUMA node&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;# Check command line arguments&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;if (($args.length -lt 1) -or&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; (($args[0] -ne "/list") -and&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ($args[0] -ne "/set") -and&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ($args[0] -ne "/clear")) -or&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (($args[0] -eq "/set") -and ($args.length -lt 3)) -or &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (($args[0] -eq "/clear") -and ($args.length -lt 2))) {&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Write-Host "numa.ps1 /list [&amp;lt;Hyper-V host&amp;gt;]"&lt;BR&gt;&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Write-Host "numa.ps1 /set &amp;lt;vm machine name&amp;gt; &amp;lt;required node&amp;gt; [&amp;lt;Hyper-V host&amp;gt;]"&lt;BR&gt;&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Write-Host "numa.ps1 /clear &amp;lt;vm machine name&amp;gt; [&amp;lt;Hyper-V host&amp;gt;]`n"&lt;BR&gt;&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Write-Host "Options:"&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Write-Host "`t/list - show configured VM's"&lt;BR&gt;&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Write-Host "`t/set &amp;lt;vm machine name&amp;gt; &amp;lt;required node&amp;gt; - set the NUMA node for the VM"&lt;BR&gt;&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Write-Host "`t/clear &amp;lt;vm machine name&amp;gt; - clear NUMA node seting for the VM"&lt;BR&gt;&amp;nbsp;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;exit;&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;# just display VM's&lt;BR&gt;if ($args[0] -eq "/list") {&lt;BR&gt;&amp;nbsp; if ($args.length -gt 1) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $HyperVHost = $args[1];&lt;BR&gt;&amp;nbsp; }&lt;BR&gt;&amp;nbsp; Get-WmiObject -Namespace 'root\virtualization' -Query "Select * From Msvm_ComputerSystem" | select ElementName&lt;BR&gt;&amp;nbsp; exit;&lt;BR&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;# Set or clear &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;$HyperVHost = '.';&lt;BR&gt;if ($args[0] -eq "/set") {&lt;BR&gt;&amp;nbsp; if ($args.length -gt 3) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $HyperVHost = $args[3];&lt;BR&gt;&amp;nbsp; }&lt;BR&gt;&amp;nbsp; $VMName = $args[1];&lt;BR&gt;&amp;nbsp; $RequiredNode = $args[2];&lt;BR&gt;} elseif ($args[0] -eq "/clear") {&lt;BR&gt;&amp;nbsp; if ($args.length -gt 2) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; $HyperVHost = $args[2];&lt;BR&gt;&amp;nbsp; }&lt;BR&gt;&amp;nbsp; $VMName = $args[1];&lt;BR&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;BR&gt;#Main Script Body &lt;BR&gt;$VMManagementService = Get-WmiObject -Namespace root\virtualization -Class Msvm_VirtualSystemManagementService -ComputerName $HyperVHost&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&lt;/SPAN&gt;&lt;BR&gt;$Query = "Select * From Msvm_ComputerSystem Where ElementName='" + $VMName + "'"&lt;BR&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;$SourceVm = Get-WmiObject -Namespace root\virtualization -Query $Query -ComputerName $HyperVHost &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;$VMSettingData = Get-WmiObject -Namespace root\virtualization -Query "Associators of {$SourceVm} Where ResultClass=Msvm_VirtualSystemSettingData AssocClass=Msvm_SettingsDefineState" -ComputerName $HyperVHost &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;if ($args[0] -eq "/set") {&lt;BR&gt;&amp;nbsp; $VMSettingData.NumaNodesAreRequired = 1&lt;BR&gt;&amp;nbsp; $VMSettingData.NumaNodeList = @($RequiredNode)&lt;BR&gt;} else {&lt;BR&gt;&amp;nbsp; $VMSettingData.NumaNodesAreRequired = 0&lt;BR&gt;}&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 8pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 10.0pt"&gt;$VMManagementService.ModifyVirtualSystem($SourceVm, $VMSettingData.PSBase.GetText(1)) &lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 9pt; FONT-FAMILY: 'Courier New'; mso-fareast-font-family: 'Times New Roman'; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="BACKGROUND: #dbe5f1; MARGIN: 0in 0in 0pt 0.5in; LINE-HEIGHT: normal; mso-background-themecolor: accent1; mso-background-themetint: 51"&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: 'Times New Roman'"&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8519969" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Hyper-V Storage Analysis</title><link>http://blogs.msdn.com/tvoellm/archive/2008/09/24/what-hyper-v-storage-is-best-for-you-show-me-the-numbers.aspx</link><pubDate>Wed, 24 Sep 2008 15:59:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8963570</guid><dc:creator>tvoellm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/8963570.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=8963570</wfw:commentRss><description>&lt;P&gt;Hyper-V Perfies,&lt;/P&gt;
&lt;P&gt;In a previous blog entry I explained the different types of storage choices you have with Hyper-V.&amp;nbsp; However we had nore released yet so no numbers could be published.&amp;nbsp; You can find the original post below...&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/tvoellm/archive/2007/10/13/what-windows-server-virtualization-aka-viridian-storage-is-best-for-you.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2007/10/13/what-windows-server-virtualization-aka-viridian-storage-is-best-for-you.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Now that we have release I wanted to share some numbers from a mid-range storage device.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;For the storage performance results below we used;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&amp;nbsp;A dual core 2GHz system&lt;/LI&gt;
&lt;LI&gt;8 SAS&amp;nbsp;disk system&amp;nbsp;configured to run&amp;nbsp;RAID0&lt;/LI&gt;
&lt;LI&gt;Off the shelf&amp;nbsp;SCSI RAID&amp;nbsp;controller&lt;/LI&gt;
&lt;LI&gt;We pre-populated the Virtual Hard Disks used with non-zero data to avoid testing an optimization we have were zero block are not actually written to Dynamic / Diff VHDs if they have never been written before.&amp;nbsp; &lt;/LI&gt;
&lt;LI&gt;IOMeter was used to generate the load and gather results.&lt;/LI&gt;
&lt;LI&gt;Root results were tested using VHD loopback.&amp;nbsp; This means we used the WMI interfaces in Windows Server 2008&amp;nbsp;to mount the VHD into the root without any virtual machine.&amp;nbsp; This was pretty close (&amp;lt;1% diff) to bare metal performance (no Hyper-V enabled).&amp;nbsp; Check out this link on how to do it &lt;A href="http://blogs.msdn.com/virtual_pc_guy/archive/2008/02/01/mounting-a-virtual-hard-disk-with-hyper-v.aspx"&gt;http://blogs.msdn.com/virtual_pc_guy/archive/2008/02/01/mounting-a-virtual-hard-disk-with-hyper-v.aspx&lt;/A&gt;&amp;nbsp;&lt;/LI&gt;
&lt;LI&gt;SCSI and IDE results were collected from a Windows Server 2008 64bit one virtual processor guest.&lt;/LI&gt;
&lt;LI&gt;Only read performance was collected for fixed Root VHD + 1 Diff Disk.&amp;nbsp; This is why some parts of the graphs are label "NOT TESTED".&amp;nbsp; Reads have to traverse the differencing chain and writes go to the outer most disk so write look just like dynamic disk write performance and were not collected.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;We chose this configuration because it was pretty low to mid range, would be very low cost, and therefore within reach of all customers running Hyper-V.&amp;nbsp; If you are running Hyper-V with big servers and storage containing 100's of disks you find it handles it very well with very little overhead.&amp;nbsp; That might be the subject of a future post.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;The following graphs show sequential I/O performance of 512Byte reads and writes.&amp;nbsp; We choose this to measure because it would approximate the behavior or loading applications, editing small files, and other types of workloads doing sequential I/O.&amp;nbsp; We saw big improvements with larger I/O's (&amp;gt;4x)&amp;nbsp;but for many workloads those are not that likely to be encountered.&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://blogs.msdn.com/photos/tvoellm/images/8963544/original.aspx" mce_src="http://blogs.msdn.com/photos/tvoellm/images/8963544/original.aspx"&gt;&lt;IMG src="http://blogs.msdn.com/photos/tvoellm/images/8963545/original.aspx" mce_src="http://blogs.msdn.com/photos/tvoellm/images/8963545/original.aspx"&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;The following graphs show 8KByte random read and write performance.&amp;nbsp; We chose 8KByes reads and writes because many servers&amp;nbsp;such as SQL Server 2008 use this sized I/O for most operations.&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;IMG src="http://blogs.msdn.com/photos/tvoellm/images/8963553/original.aspx" mce_src="http://blogs.msdn.com/photos/tvoellm/images/8963553/original.aspx"&gt;&lt;IMG src="http://blogs.msdn.com/photos/tvoellm/images/8963554/original.aspx" mce_src="http://blogs.msdn.com/photos/tvoellm/images/8963554/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;From the graphs you can see that Emulated IDE (aka you are not running with Integration Components installed) is never a good choice.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Passthough followed by fixed disks have the overall best performance.&amp;nbsp; Dynamic and differencing disks are good choices when you need flexibility.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; Enjoy,&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; Tony Voellm&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;Liang Yang&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8963570" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Show+me+the+numbers/default.aspx">Show me the numbers</category></item><item><title>WS08 Hyper-V now supports 24LP</title><link>http://blogs.msdn.com/tvoellm/archive/2008/09/24/ws08-hyper-v-now-supports-24lp.aspx</link><pubDate>Wed, 24 Sep 2008 15:29:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8963540</guid><dc:creator>tvoellm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/8963540.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=8963540</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Hyper-V Perfies,&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt" mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT face=Calibri&gt;&lt;FONT size=3&gt;Now available to the general public is Windows Server 2008 (WS08) Hyper-V &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;24&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt; &lt;/SPAN&gt;&lt;FONT size=3&gt;Logical Processor (LP) Support.&amp;nbsp; This revises our RTM support limit of 16 Logical Processors.&amp;nbsp; We also increased the number of supported running virtual machines from 128 to &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;192&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT size=3&gt;.&amp;nbsp; This update also has the side benefit of improving workloads that start large numbers of processes by increasing the process address space cache limit from 192 to &lt;/FONT&gt;&lt;B&gt;&lt;SPAN style="FONT-SIZE: 14pt"&gt;384&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT size=3&gt;.&amp;nbsp; All in all this update will allow you to get even more mileage from WS08 Hyper-V.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;You can find the needed update here &lt;SPAN style="COLOR: #1f497d"&gt;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fe36823a-7e5a-4262-9bf5-d6b3ae3ad375&amp;amp;DisplayLang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyID=fe36823a-7e5a-4262-9bf5-d6b3ae3ad375&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=fe36823a-7e5a-4262-9bf5-d6b3ae3ad375&amp;amp;DisplayLang=en&lt;/A&gt; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;Here is some&amp;nbsp;Q &amp;amp; A to help you figure out how and when to install this&amp;nbsp;update;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;Q: Should everyone install this update?&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;A: No.&amp;nbsp; Install this update only on machine needing 24LP support or if you are running more than 192 processes in the root (no recommeded) / guest.&amp;nbsp; Keep in mind there are very few workloads that create this many processes and there are only two that come to mind.&amp;nbsp; Terminal Services and Hyper-V running &amp;gt; 192 virtual machines (VM).&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;Q: Does this mean I can now run 192 VM's on my 16 logical processor system?&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;A: No.&amp;nbsp; We only support an 8 virtual processor (VP) to 1 logical processor (LP)&amp;nbsp;limit.&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;Q: What does 8 VP to 1 LP mean?&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;A: This mean is you have 8 logical processors you can run up to 64 virtual processors in any combinaiton.&amp;nbsp; For example 16&amp;nbsp;Windows Server 2008 (WS08)&amp;nbsp;VM's with 4 VP each, or 64 Windows Server 2003 VM's with 1 VP each, or 8 WS08 4VP VM's with 32 W2k3 1VP VM's.&amp;nbsp; You get the picture.&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;Q: What is a logical processor aka LP?&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;A: A logical processor is what we call anything that shows up in Windows as a processor in task manager.&amp;nbsp; More precisely it is the "number processors * number of cores * 2 if you are running Hyper Threading (HT) or now called Symmetric Multi Threading (SMT)."&amp;nbsp; For example a dual proc quad core system with SMT enabled has 2 * 4 * 2 = 16 LP.&amp;nbsp; A quad proc dual core system has 4 * 2 = 8 LP.&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;Leading the 24LP effort was a blast and it is also why my blog has been pretty quiet recently.&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp; Enjoy,&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;Tony Voellm&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&lt;/FONT&gt;&lt;/o:p&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8963540" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>BizTalk team releases best practice doc for running on WS08 Hyper-V</title><link>http://blogs.msdn.com/tvoellm/archive/2008/07/22/biztalk-team-releases-best-practice-doc-for-running-on-ws08-hyper-v.aspx</link><pubDate>Tue, 22 Jul 2008 22:18:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8764685</guid><dc:creator>tvoellm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/8764685.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=8764685</wfw:commentRss><description>&lt;P&gt;Below is a great link on how to get BizTalk 2006 working on top of Hyper-V.&amp;nbsp; It includes practical advice that applies to other servers and roles as well.&lt;/P&gt;
&lt;P&gt;Check it out... &lt;A href="http://msdn.microsoft.com/en-us/library/cc768518.aspx"&gt;http://msdn.microsoft.com/en-us/library/cc768518.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; Tony&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8764685" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>How to get Processor Utilization for Hyper-V via WMI</title><link>http://blogs.msdn.com/tvoellm/archive/2008/07/14/how-to-get-processor-utilization-for-hyper-v-via-wmi.aspx</link><pubDate>Mon, 14 Jul 2008 19:44:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8731737</guid><dc:creator>tvoellm</dc:creator><slash:comments>6</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/8731737.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=8731737</wfw:commentRss><description>&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;There are a number of groups building management software (OEMs, Microsoft, …) for Hyper-V which is cool to see.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;A common ask from these teams has been around reading and computing VM CPU usage.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;The following is an example of how to compute Hyper-V guest processors usage.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You can use the same formula for “% Total Run &lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Time, “% Hypervisor Time” and “% Idle time”.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;The counters show up in the Win32_PerfRawData_HvStats_HyperVHypervisorLogicalProcessor WMI object as&lt;SPAN style="COLOR: #1f497d"&gt; “&lt;/SPAN&gt;PercentGuestRunTime”, “PercentTotalRunTime”, “PercentHypervisorRunTime”, and “PercentIdleTime”.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%"&gt;&lt;FONT face=Calibri size=3&gt;To make the formula easier to read lets use:&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;G&lt;SUB&gt;N&lt;/SUB&gt; – Percent Guest Run Time (substitute other usage values here)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;P&lt;SUB&gt;N&lt;/SUB&gt; – Timestamp_PerfTime&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;F&lt;SUB&gt;N&lt;/SUB&gt; – Frequency_PerfTime&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-tab-count: 1"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;LP = Number of logical processors (Get this from the “Hyper-V Hypervisor” counterset)&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/SPAN&gt;F&lt;SUB&gt;1&lt;/SUB&gt; * (G&lt;SUB&gt;2&lt;/SUB&gt; – G&lt;SUB&gt;1&lt;/SUB&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Utilization =&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;-----------------------------------&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;SPAN style="FONT-FAMILY: 'Courier New'"&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;100000 * LP * (P&lt;SUB&gt;2&lt;/SUB&gt;-P&lt;SUB&gt;1&lt;/SUB&gt;)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: 150%"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;G&lt;SUB&gt;2&lt;/SUB&gt; and P&lt;SUB&gt;2&lt;/SUB&gt; are the second values read and G&lt;SUB&gt;1&lt;/SUB&gt; and P&lt;SUB&gt;1&lt;/SUB&gt; are the first values read.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;To test the formula lets read the “Hyper-V Hypervisor Logical Process” counterset twice via the Win32_PerfRawData_HvStats_HyperVHypervisorLogicalProcessor WMI object about 10 seconds apart with a single VM running at 100% Guest CPU.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Since my test machine has two CPU’s (2 LP) this means we should see about 50% overall utilization.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;V:\backup&amp;gt;winrm enum wmi/root/cimv2/* -filter:"select * from Win32_PerfRawData_HvStats_HyperVHypervisorLogicalProcessor where name='_Total'"&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;Win32_PerfRawData_HvStats_HyperVHypervisorLogicalProcessor&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1TransitionsPersec = 409197889&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2TransitionsPersec = 0&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; C3TransitionsPersec = 0&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Caption = null&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ContextSwitchesPersec = 889911109&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description = null&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Frequency_Object = 0&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Frequency_PerfTime = 14318180&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Frequency_Sys100NS = 10000000&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HardwareInterruptsPersec = 92282462&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InterProcessorInterruptsPersec = 8174254&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InterProcessorInterruptsSentPersec = 8174254&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MonitorTransitionCost = 16&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name = _Total&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PercentC1Time = 4193635539355&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PercentC2Time = 0&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PercentC3Time = 0&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PercentGuestRunTime = 314976793671&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;PercentHypervisorRunTime = 53745475789&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PercentIdleTime = 8385447570540&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PercentTotalRunTime = 368722269460&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SchedulerInterruptsPersec = 384836664&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TimerInterruptsPersec = 33425466&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timestamp_Object = 0&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timestamp_PerfTime = 6268633722843&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timestamp_Sys100NS = 4199325031975&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TotalInterruptsPersec = 518718846&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;V:\backup&amp;gt;winrm enum wmi/root/cimv2/* -filter:"select * from Win32_PerfRawData_HvStats_HyperVHypervisorLogicalProcessor where name='_Total'"&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;Win32_PerfRawData_HvStats_HyperVHypervisorLogicalProcessor&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; C1TransitionsPersec = 409201218&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; C2TransitionsPersec = 0&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; C3TransitionsPersec = 0&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Caption = null&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; ContextSwitchesPersec = 889922035&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Description = null&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Frequency_Object = 0&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Frequency_PerfTime = 14318180&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Frequency_Sys100NS = 10000000&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; HardwareInterruptsPersec = 92283571&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InterProcessorInterruptsPersec = 8174425&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; InterProcessorInterruptsSentPersec = 8174425&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; MonitorTransitionCost = 16&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name = _Total&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PercentC1Time = 4193667417779&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PercentC2Time = 0&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PercentC3Time = 0&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PercentGuestRunTime = 315044817737&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PercentHypervisorRunTime = 53746578312&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PercentIdleTime = 8385511363951&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; PercentTotalRunTime = 368791396049&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; SchedulerInterruptsPersec = 384840537&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TimerInterruptsPersec = 33426627&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timestamp_Object = 0&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timestamp_PerfTime = 6268728855292&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Timestamp_Sys100NS = 4199364353043&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 0pt; LINE-HEIGHT: normal"&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; TotalInterruptsPersec = 518725160&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT face=Calibri size=3&gt;Based the formula above and the data below we get = 51% which is spot on.&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Enjoy,&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;Tony Voellm&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0in 0in 10pt"&gt;&lt;o:p&gt;&lt;FONT face=Calibri size=3&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8731737" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx">Hyper-V Performance Counters</category></item><item><title>WS08 Hyper-V as RTMed!!!!</title><link>http://blogs.msdn.com/tvoellm/archive/2008/06/28/ws08-hyper-v-as-rtmed.aspx</link><pubDate>Sat, 28 Jun 2008 18:57:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8663736</guid><dc:creator>tvoellm</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/8663736.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=8663736</wfw:commentRss><description>&lt;P&gt;Wow its been a great ride helping get Hyper-V to perform the way it does.&amp;nbsp; So much so I've not posted in a while.&amp;nbsp; You will&amp;nbsp;see some upcoming posts on performance counters, WMI perf interfaces, and real data (yes now with RTM I can post data).&lt;/P&gt;
&lt;P&gt;In the meantime check out my co-workers post on where to get the final&amp;nbsp;(aka RTM) WS08 Hyper-V&amp;nbsp;bits...&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.technet.com/jhoward/archive/2008/06/26/hyper-v-rtm-announcement-available-today-from-the-microsoft-download-centre.aspx"&gt;http://blogs.technet.com/jhoward/archive/2008/06/26/hyper-v-rtm-announcement-available-today-from-the-microsoft-download-centre.aspx&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; Tony&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8663736" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/viridian/default.aspx">viridian</category><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Windows Server Performance 2008 Tuning guide now includes Hyper-V</title><link>http://blogs.msdn.com/tvoellm/archive/2008/06/18/windows-server-performance-2008-tuning-guide-now-includes-hyper-v.aspx</link><pubDate>Wed, 18 Jun 2008 21:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8617868</guid><dc:creator>tvoellm</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/8617868.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=8617868</wfw:commentRss><description>&lt;FONT color=#800080&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;The Windows Server Performance team has updated teh Window Server 2008 Tuning guide to include Hyper-V.&amp;nbsp; The Hyper-V section provide a lot of recommendations you will find useful.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;FONT color=#000000&gt;Check it out below...&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; COLOR: purple; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;A href="http://blogs.technet.com/winserverperformance/archive/2008/06/17/power-and-hyper-v-are-now-part-of-the-windows-server-2008-tuning-guide.aspx"&gt;http://blogs.technet.com/winserverperformance/archive/2008/06/17/power-and-hyper-v-are-now-part-of-the-windows-server-2008-tuning-guide.aspx&lt;/A&gt; &lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;o:p&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;U&gt;&lt;FONT color=#800080&gt;&lt;/FONT&gt;&lt;/U&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8617868" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Why can't I start my VM when there is plenty of free memory?</title><link>http://blogs.msdn.com/tvoellm/archive/2008/06/11/can-t-start-my-vm-when-there-is-plenty-of-memory.aspx</link><pubDate>Wed, 11 Jun 2008 12:46:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8564874</guid><dc:creator>tvoellm</dc:creator><slash:comments>2</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/8564874.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=8564874</wfw:commentRss><description>&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: PMingLiU; mso-fareast-theme-font: minor-fareast; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&lt;STRONG&gt;Issue #1:&lt;/STRONG&gt; A number of customers has reported than VM's fail to start when there is plently of memory.&amp;nbsp; The error reported from the Hyper-V manager is displayed below.&amp;nbsp; Here I tried to start a 4GB VM when there was 7+GB free.&amp;nbsp;&amp;nbsp; What's going on?&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: PMingLiU; mso-fareast-theme-font: minor-fareast; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA"&gt;&lt;IMG title="Hyper-V Memory Error" style="WIDTH: 391px; HEIGHT: 295px" height=295 alt="Hyper-V Memory Error" src="http://blogs.msdn.com/photos/tvoellm/images/8591624/original.aspx" width=391 mce_src="http://blogs.msdn.com/photos/tvoellm/images/8591624/original.aspx"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: PMingLiU; mso-fareast-theme-font: minor-fareast; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA"&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The most common cause has to do with a bug in Windows Server 2008 NUMA memory allocations.&amp;nbsp; This means you'll only hit this bug on NUMA machines (all multi-proc AMD machines are NUMA + many high end Intel based servers).&amp;nbsp; You can verify you have this bug by looking at the Task Manager reported "Cached" and "Free" memory.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/SPAN&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 12pt; FONT-FAMILY: 'Times New Roman','serif'; mso-fareast-font-family: PMingLiU; mso-fareast-theme-font: minor-fareast; mso-ansi-language: EN-US; mso-fareast-language: ZH-TW; mso-bidi-language: AR-SA"&gt;&lt;/SPAN&gt;&lt;IMG title="Hyper-V Free Memory Task Manager" style="WIDTH: 407px; HEIGHT: 451px" height=451 alt="Hyper-V Free Memory Task Manager" src="http://blogs.msdn.com/photos/tvoellm/images/8591662/original.aspx" width=407 mce_src="http://blogs.msdn.com/photos/tvoellm/images/8591662/original.aspx"&gt;&lt;/P&gt;
&lt;P&gt;Here free memory is 9MB but really much of the "Cached" memory can be made free also.&amp;nbsp; Standby Pages, Modified Pages, and System File Cache make up the "Cached" memory.&amp;nbsp; Most (all but a couple 100MB) of&amp;nbsp;the cached memory can be converted to "free",&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Fix #1: &lt;/STRONG&gt;To resolve the issue will need to contact Microsoft Product Support &lt;A href="http://support.microsoft.com/contactus/cu_sc_more_master#tab1"&gt;http://support.microsoft.com/contactus/cu_sc_more_master#tab1&lt;/A&gt;&amp;nbsp;and request the following hotfix - &lt;U&gt;&lt;FONT color=#0000ff&gt;KB953585&lt;/FONT&gt;&lt;/U&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Alternate Fix #1:&lt;/STRONG&gt; The second way to avoid this bug is to not do any work in the root parition directly.&amp;nbsp; Create a "management" VM and do your work there.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Background #1:&lt;/STRONG&gt;&amp;nbsp; The most common way of hitting this issue is by running large file copies in the root (aka host) parition.&amp;nbsp; Doing lots of file copies causes the System File Cache to bloat in size.&amp;nbsp; When Hyper-V goes to start it will flush the System File Cache if it needs memory.&amp;nbsp; The System File Cache pages (aka file pages from the copies) move to the Standy list and from there will get zeroed and freed.&amp;nbsp; The bug is WS08 prevents NUMA allocations from the Standyby list.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Issue #2: The&lt;/STRONG&gt; second most common cause to the can't start the VM issue when it appears there is plenty of memory is due to configuring a NUMA machine to use fewer processors than the system actually has.&amp;nbsp; Typically this is done using "bcdedit /set numproc X".&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Fix #2: &lt;/STRONG&gt;If you set NUMA machine in this mode for testing memory attached to the "hidden" processors will be inaccessible to Hyper-V.&amp;nbsp; Some machines allow you to reassign the memory (via the BIOS or front end controller) to the "active" processors.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; - Tony Voellm&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8564874" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item><item><title>Hyper-V Performance FAQ</title><link>http://blogs.msdn.com/tvoellm/archive/2008/06/06/hyper-v-performance-faq.aspx</link><pubDate>Fri, 06 Jun 2008 03:26:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8576828</guid><dc:creator>tvoellm</dc:creator><slash:comments>3</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/8576828.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=8576828</wfw:commentRss><description>&lt;P style="TEXT-ALIGN: center; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 18pt; mso-bidi-font-size: 11.0pt"&gt;&lt;FONT face=Calibri&gt;Hyper-V Performance FAQ&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/B&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;FONT size=3 face=Calibri&gt;Anthony F Voellm (aka Tony)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;FONT size=3 face=Calibri&gt;6/19/2008&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;A href="http://blogs.msdn.com/tvoellm" mce_href="http://blogs.msdn.com/tvoellm"&gt;&lt;FONT size=3 face=Calibri&gt;http://blogs.msdn.com/tvoellm&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0in 0in 0pt" class=MsoNormal align=center mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;[**** NOTE THIS IS NOW OLD.&amp;nbsp; ****]&lt;/P&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;[**** SEE THE NEW FAQ&amp;nbsp;at ****]&lt;/P&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;[**** &amp;nbsp;&lt;A href="http://blogs.msdn.com/tvoellm/archive/2009/12/18/hyper-v-performance-faq-r2.aspx"&gt;http://blogs.msdn.com/tvoellm/archive/2009/12/18/hyper-v-performance-faq-r2.aspx&lt;/A&gt;&amp;nbsp;****]&lt;/P&gt;
&lt;P style="TEXT-ALIGN: center; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 14pt; mso-bidi-font-size: 11.0pt"&gt;Q:&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT size=3&gt; What is the recommend configuration for performance testing?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;A: Here are some simple steps:&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Be sure to have the latest WS08 Hyper-V build – Hyper-V RC1 which is on Microsoft Downloads and Windows Update&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;Next you need to make sure you are running a “Supported OS” with the latest SP.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;TABLE style="BORDER-BOTTOM: medium none; BORDER-LEFT: medium none; BORDER-COLLAPSE: collapse; BORDER-TOP: medium none; BORDER-RIGHT: medium none; mso-yfti-tbllook: 1184; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-padding-alt: 0in 5.4pt 0in 5.4pt" class=MsoTableGrid border=1 cellSpacing=0 cellPadding=0 class="MsoTableGrid"&gt;
&lt;TBODY&gt;
&lt;TR style="mso-yfti-irow: 0; mso-yfti-firstrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Operating System&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: black 1pt solid; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;FONT size=3 face=Calibri&gt;Virtual Processor Limit&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 1"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Windows Server 2008 64-bit&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;FONT size=3 face=Calibri&gt;4&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 2"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Windows Server 2003 32-bit&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;FONT size=3 face=Calibri&gt;2&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 3"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Windows Server 2008 32-bit&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;FONT size=3 face=Calibri&gt;4&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 4"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Windows Server 2003 64-bit&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;FONT size=3 face=Calibri&gt;1&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 5"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Windows Vista SP1 32-bit / 64bit&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;FONT size=3 face=Calibri&gt;1&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 6"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Windows XP SP3 32-bit / 64bit&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;FONT size=3 face=Calibri&gt;1&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 7"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Windows 2000 32bit&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;FONT size=3 face=Calibri&gt;1&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR style="mso-yfti-irow: 8; mso-yfti-lastrow: yes"&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: black 1pt solid; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;SUSE/RedHat LINUX&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;
&lt;TD style="BORDER-BOTTOM: black 1pt solid; BORDER-LEFT: #f0f0f0; PADDING-BOTTOM: 0in; BACKGROUND-COLOR: transparent; PADDING-LEFT: 5.4pt; WIDTH: 239.4pt; PADDING-RIGHT: 5.4pt; BORDER-TOP: #f0f0f0; BORDER-RIGHT: black 1pt solid; PADDING-TOP: 0in; mso-border-alt: solid black .5pt; mso-border-themecolor: text1; mso-border-left-alt: solid black .5pt; mso-border-left-themecolor: text1; mso-border-top-alt: solid black .5pt; mso-border-top-themecolor: text1; mso-border-bottom-themecolor: text1; mso-border-right-themecolor: text1" vAlign=top width=319&gt;
&lt;P style="TEXT-ALIGN: center; LINE-HEIGHT: normal; MARGIN: 0in 0in 0pt" class=MsoNormal align=center&gt;&lt;FONT size=3 face=Calibri&gt;1&lt;/FONT&gt;&lt;/P&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Make sure the guest and root OS have integration components installed (&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt; &lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 12pt; mso-bidi-font-size: 11.0pt"&gt;**and** &lt;/SPAN&gt;&lt;/B&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/01/02/hyper-v-integration-components-and-enlightenments.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/01/02/hyper-v-integration-components-and-enlightenments.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://blogs.msdn.com/tvoellm/archive/2008/01/02/hyper-v-integration-components-and-enlightenments.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; )&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;4.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Make sure you are using the “Network Adapter” and not the “Legacy Network Adapter”.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;The legacy adapter has a lot of emulation which causes lots of CPU overhead.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;5.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Use passthrough disks attached to SCSI for the next performance.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Next best is Fixed VHD attached to SCSI.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;To understand storage better see (&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/tvoellm/archive/2007/10/13/what-windows-server-virtualization-aka-viridian-storage-is-best-for-you.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2007/10/13/what-windows-server-virtualization-aka-viridian-storage-is-best-for-you.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;http://blogs.msdn.com/tvoellm/archive/2007/10/13/what-windows-server-virtualization-aka-viridian-storage-is-best-for-you.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; )&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l1 level1 lfo1" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;6.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Follow these tips for avoiding pitfalls &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 14pt; mso-bidi-font-size: 11.0pt"&gt;Q:&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT size=3&gt; How do I monitor performance?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;A: First you need to understand that the clocks in the root and guest Virtual Machines may not be accurate see (&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/03/20/hyper-v-clocks-lie.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/03/20/hyper-v-clocks-lie.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;http://blogs.msdn.com/tvoellm/archive/2008/03/20/hyper-v-clocks-lie.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; ).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Given an understanding of clocks you can see why we implemented the “Hyper-V Hypervisor Logical Processor” performance counters (access using perfmon) which are not skewed by clock effects.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There are other Hyper-V performance counters that are useful.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;See the following for more details (&lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx"&gt;&lt;FONT size=3 face=Calibri&gt;http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V+Performance+Counters/default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; )&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 14pt; mso-bidi-font-size: 11.0pt"&gt;Q:&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT size=3&gt; Should I use passthrough or iSCSI attached to the guest for storage?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;A: The decision depends on what features you need to expose to the guest.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;In the passthrough case the drive will show up without knowledge of the underlying LUN.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Educated guess: If you are looking for raw performance passthough will give you the best result.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;Reason: When doing IO from the guest using passthough you traverse the guest storage stack + disk stack in the root.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;When doing iSCSI you traverse the storage + networking stack in the guest + root networking stack&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 14pt; mso-bidi-font-size: 11.0pt"&gt;Q:&lt;/SPAN&gt;&lt;/B&gt;&lt;FONT size=3&gt; Is there a simple way to disable the hypervisor to run some baseline tests on the native system.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;A: Yes.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;“bcdedit /set hypervisorlaunchtype off”&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;and reboot the server. You should also consider changing the protocols on the root network device to re-enable IP and turn off the “Microsoft Virtual Network Switch Protocol”.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;See the following for more details (XXX – coming to my blog soon &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;For starters turning off the Hypervisor should be enough for testing native performance.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;To turn it back on do “bcdedit /set hypervisorlaunchtype on” and reboot the server.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 14pt; mso-bidi-font-size: 11.0pt"&gt;Q: &lt;/SPAN&gt;&lt;/B&gt;&lt;FONT size=3&gt;&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp;&lt;/SPAN&gt;Is there any common terminology used to talk about virtual machine configurations?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;A: Yes - Internal to Microsoft we typically use the following;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo4" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Native = System without the Hyper-V role. This means you have no virtual drivers, virtual switch, …&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo4" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Root = you have Hyper-V role installed and but are not using a virtual switch for networking.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l3 level1 lfo4" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Guest = Guest Virtual Machine.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l3 level1 lfo4" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="FONT-FAMILY: Symbol; mso-fareast-font-family: Symbol; mso-bidi-font-family: Symbol"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;·&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;8p.child.2x1p or better 8p.child.2VMx1VP = A system with 8 logical processors / cores running 2 Virtual Machines (VM) each with 1 Virtual Processor (VP)&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 14pt; mso-bidi-font-size: 11.0pt"&gt;Q:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 14pt; mso-bidi-font-size: 11.0pt"&gt; &lt;/SPAN&gt;&lt;FONT size=3&gt;Are there any services that should be stopped?&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 14pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;A: No If you are running Server Core which is the ideal root OS to use.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Regardless of running server core vs server you should close the Hyper-V Management Console because it has a noticeable impact on CPU.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If you want the details see &lt;/FONT&gt;&lt;A href="http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx" mce_href="http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://blogs.msdn.com/tvoellm/archive/2008/04/19/hyper-v-how-to-make-sure-you-are-getting-the-best-performance-when-doing-performance-comparisons.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 14pt; mso-bidi-font-size: 11.0pt"&gt;Q:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 14pt; mso-bidi-font-size: 11.0pt"&gt; &lt;/SPAN&gt;&lt;FONT size=3&gt;Is it ok run applications / processes in the root OS?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;A: You should avoid running any Role / Feature or custom service in the root.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;If you have services you want to run put them in a guest VM.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Running roles in the root can have a negative impact the guest VM’s.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;This is due to how the Hypervisor scheduler handles the root virtual processors.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 14pt; mso-bidi-font-size: 11.0pt"&gt;Q:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 14pt; mso-bidi-font-size: 11.0pt"&gt; &lt;/SPAN&gt;&lt;FONT size=3&gt;Are there additional knobs for performance nuts?&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 14pt; mso-bidi-font-size: 11.0pt"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;A: We are trying to make Hyper-V knob-less.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;However we are engineers and here are some tips.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraphCxSpFirst&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;1.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Remove the CDROM drive from the guest if you don’t need it&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 0pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraphCxSpMiddle&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;2.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3 face=Calibri&gt;Look into the Caps / Weights / Reserves in the CPU config.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You can use these to “balance” workloads.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l0 level1 lfo2" class=MsoListParagraphCxSpLast&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin; mso-bidi-font-family: Calibri; mso-bidi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3 face=Calibri&gt;3.&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT size=3&gt;&lt;FONT face=Calibri&gt;You can use the WMI interfaces to force a VM to a particular node (coming to my blog soon &lt;/FONT&gt;&lt;SPAN style="FONT-FAMILY: Wingdings; mso-ascii-font-family: Calibri; mso-hansi-font-family: Calibri; mso-char-type: symbol; mso-symbol-font-family: Wingdings; mso-ascii-theme-font: minor-latin; mso-hansi-theme-font: minor-latin"&gt;&lt;SPAN style="mso-char-type: symbol; mso-symbol-font-family: Wingdings"&gt;J&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;FONT face=Calibri&gt;).&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;You don’t guarantee node affinity for VP’s but we do for memory.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;There is a good chance the VP’s will stay on the node because the scheduler is NUMA aware.&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT face=Calibri&gt;&lt;B style="mso-bidi-font-weight: normal"&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 16pt; mso-bidi-font-size: 11.0pt"&gt;Q:&lt;/SPAN&gt;&lt;/B&gt;&lt;SPAN style="LINE-HEIGHT: 115%; FONT-SIZE: 16pt; mso-bidi-font-size: 11.0pt"&gt; &lt;/SPAN&gt;&lt;FONT size=3&gt;Are their addition resources that are useful for understanding Hyper-V?&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt" class=MsoNormal&gt;&lt;FONT size=3 face=Calibri&gt;A: Yes – here is a list&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l2 level1 lfo3; tab-stops: list .5in" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;•&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://blogs.technet.com/windowsserver/default.aspx" mce_href="http://blogs.technet.com/windowsserver/default.aspx"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://blogs.technet.com/windowsserver/default.aspx&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l2 level1 lfo3; tab-stops: list .5in" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;•&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://blogs.msdn.com/virtual_pc_guy/" mce_href="http://blogs.msdn.com/virtual_pc_guy/"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://blogs.msdn.com/virtual_pc_guy/&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l2 level1 lfo3; tab-stops: list .5in" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;•&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://blogs.technet.com/jhoward/" mce_href="http://blogs.technet.com/jhoward/"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://blogs.technet.com/jhoward/&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l2 level1 lfo3; tab-stops: list .5in" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;•&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://blogs.msdn.com/tvoellm" mce_href="http://blogs.msdn.com/tvoellm"&gt;&lt;FONT size=3 face=Calibri&gt;http://blogs.msdn.com/tvoellm&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="TEXT-INDENT: -0.25in; MARGIN: 0in 0in 10pt 0.5in; mso-list: l2 level1 lfo3; tab-stops: list .5in" class=MsoNormal&gt;&lt;SPAN style="FONT-FAMILY: 'Arial','sans-serif'; mso-fareast-font-family: Arial"&gt;&lt;SPAN style="mso-list: Ignore"&gt;&lt;FONT size=3&gt;•&lt;/FONT&gt;&lt;SPAN style="FONT: 7pt 'Times New Roman'"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;A href="http://blogs.technet.com/winserverperformance/" mce_href="http://blogs.technet.com/winserverperformance/"&gt;&lt;FONT color=#0000ff size=3 face=Calibri&gt;http://blogs.technet.com/winserverperformance/&lt;/FONT&gt;&lt;/A&gt;&lt;FONT size=3 face=Calibri&gt; &lt;/FONT&gt;&lt;/P&gt;
&lt;P style="MARGIN: 0in 0in 10pt 0.5in" class=MsoNormal&gt;&lt;o:p&gt;&lt;FONT size=3 face=Calibri&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8576828" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category><category domain="http://blogs.msdn.com/tvoellm/archive/tags/FAQ/default.aspx">FAQ</category></item><item><title>Negative ping times in Windows VM's - whats up?</title><link>http://blogs.msdn.com/tvoellm/archive/2008/06/05/negative-ping-times-in-windows-vm-s-whats-up.aspx</link><pubDate>Thu, 05 Jun 2008 23:40:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8576257</guid><dc:creator>tvoellm</dc:creator><slash:comments>7</slash:comments><comments>http://blogs.msdn.com/tvoellm/comments/8576257.aspx</comments><wfw:commentRss>http://blogs.msdn.com/tvoellm/commentrss.aspx?PostID=8576257</wfw:commentRss><description>&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;Just a quick blog post that might help you resolve an issue that some customers have seen running under Hyper-V VM's.&amp;nbsp; The issue is negative ping times on multi-processor guests.&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;If you see negative ping times in multiprocessor W2k3 guest OSes you might consider setting the /usepmtimer in the boot.ini file.&amp;nbsp;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;The root issue comes about from the Win32 QueryPerformanceCounter function.&amp;nbsp;&amp;nbsp;By default it&amp;nbsp;uses a time source called&amp;nbsp;the TSC.&amp;nbsp;&amp;nbsp;This is a&amp;nbsp;CPU&amp;nbsp;time source that essentially&amp;nbsp;counts CPU cycles.&amp;nbsp; The TSC&amp;nbsp;for each (virtual) processor can be different so&amp;nbsp;there is no guarantee&amp;nbsp;that reading TSC on one processor has anything to do with reading TSC on another processor.&amp;nbsp; This means back to back reads of TSC on different VP's can actually go backwards.&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;Hyper-V guarantees that TSC will not go backwards on a single VP.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;So here the problem with negative ping times is the time source is using QueryPerformanceCounter which is using TSC.&amp;nbsp; By using the /usepmtimer boot.ini flag you change the time source for QueryPerformanceCounter from TSC to the PM timer which is a global time source.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE: 10pt; FONT-FAMILY: 'Arial','sans-serif'"&gt;&amp;nbsp; - Tony Voellm&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8576257" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/tvoellm/archive/tags/viridian/default.aspx">viridian</category><category domain="http://blogs.msdn.com/tvoellm/archive/tags/Hyper-V/default.aspx">Hyper-V</category></item></channel></rss>