Windows Server 2012 on HyperV VM is so slow

Greetings,

I recently installed Server 2012 as a HyperV guest on my W8 machine for lab testings.
As a VM, 2012 seems excruciatingly slow, even with 6GB of RAM dedicated to it.

My host computer is a i7 3770 with 16GB of RAM, and the 2012 VM is running on a Caviar Black HD in SATA2.

Has anyone experience the same thing ?

I have never used hyper-v, but if it has a setting like esxi for cpu cores, did you make sure it wasnt just 1 core?
 
I have a handfull of 2012 VMs with 2 procs and 2GB of ram and they run beautiful on my 2008 R2 hyperv cluster.
 
It's your hard drive. Hosting more than one vm on a regular SATA drive will be slow. Use an ssd instead.
 
I had the same issue, try turning dynamic memory off, that seemed to help mine. You really notice it with server manager, when I gave it static memory server manager was a lot more responsive. I haven't googled this to determine if it isn't compatible or not. there may be an update or hotfix to resolve it.
 
It's your hard drive. Doesn't matter that you gave it 6GB of ram, you'd see the same issues if it only had 2GB of ram.
Upgrade your HD to either an enterprise class SAS drive (10k, 15k rpm), or SSD and performance will be awesome.
 
It's your hard drive. Doesn't matter that you gave it 6GB of ram, you'd see the same issues if it only had 2GB of ram.
Upgrade your HD to either an enterprise class SAS drive (10k, 15k rpm), or SSD and performance will be awesome.

You don't need expensive storage for testing.
 
make sure your AV isn't trying to scan the VHD or DAT files in the vm folders.
 
All of you are right on each note. As a user with a Hyper-V 2012 cluster at home I can say that your issues are a combination of all of the above.

There are some best practices to follow when running a system for virtualization, even if only for testing.

1: Make sure you have both Virtualization and Hardware Virtualization are enabled on both the system board BIOS and that the CPU supports these. In Intel terms this means that both VT-x and VT-d must be enabled in your BIOS. I have confirmed that your CPU supports this so your board might not have these enabled. I suggest you post your baord for us to have a look and confirm that it supports these.
http://ark.intel.com/products/65719/Intel-Core-i7-3770-Processor-8M-Cache-up-to-3_90-GHz

2: Make sure you have some fast RAM. I don't mean DDR3 2100 MHz OC'ed or anything crazy like that. I have DDR3 1333 MHz on mine and there's no lag at all. Having ECC helps too. While some may argue that ECC slows down your system truthfully you don't even notice it, if there is a delay at all. With newer hardware the lag of ECC has dropped to an almost negligible amount. I have not been able to confirm the impact of dynamic memory on the VM's on my system but I doubt that might be the case. Usually this is used to allocate a portion of memory to the VM and have it setup to grab more free memory as it requires, when more memory is freely available.

3: Run your VM's off of a fast hard drive. While 10-15k SAS is nice you don't need to be that fats for testing or home use. An example of some suggested drives would be the Western Digital Caviar Black models. Usually higher cache size on the drive helps with he performance too. If you can use an ssd with FAST RANDOM read/write speeds. Since the VM's won't be reading and writing sequentially at the same time it will speed up the system performance greatly. Another note is to make sure the drive that the VM's run off of, whither hdd or ssd, is a dedicated drive. DO NOT use the same drive that your operating system is installed on. That is only asking for performance lag!

4: Use a fast controller. I don't see the issue you have is a result of the SATA controller but you may be surprised of the littlest things that cause issues in computers. If available use a SATA 3 controller as you will get far more bandwidth and faster response times even if the drive connected is a SATA 2 drive. Otherwise if not available then stick with SATA 2. I have never had an issue from a SATA 2 controller running my VM's in the past.

5: Configure the antivirus. Setup you antivirus to either exclude the folder that your VM's are saved to or exclude individual file types. Because of the nature of how a VM is built and the files that are required to run one successfully, most antivirus programs might think the VM and its associated files are either a threat, and will quarantine or delete them, or simply slow down the performance of it drastically while it is running. Usually on a hypervisor, either Tier 1 or 2, it is best to not install an antivirus program or not enable it during VM operation. This is because most Tier 1's have no gui or other components installed for viruses to run properly or gain access too. In your case I would turn it off when the VM is running and re-enable it after you power it down.

Please correct me if I'm wrong on any of these points, but this is what I have learned and experienced from running my own Tier 1 hypervisors in my house for testing purposes.
 
Last edited:
I agree with everything HalfJaw said. I'm running 25 VMs across 5x1TB WD Blacks in a storage pool... 4 of the 5 of SATA 6GB connected. I only have issues when starting them all at one time. I'm also running 64GB of PC1600.
 
Back
Top