I was hesitant to begin with in the transition from a physical host to a virtualized environment. I have seen guest OS’s max out their CPU utilization with just Coldfusion Installed and no traffic being routed to it. As puzzling as this was, i was sceptical as to how well our move to complete virtualization would go.

I built from the ground up 2 hosts placed in a clustered vmware environment. We have 1 file server, 1 sql server, and 4 web servers in this virtual environment. When this project started, it was not long till we ran into a issue that almost forced us to pull the plug on a very expensive project. It was the problem that i dreaded happening….

After deploying a VM and load testing we determined that the 2 cpu’s assigned to the VM we were testing was not enough, So i added 2 more cpu’s and we began testing again. To no avail adding the Cpu’s did not help, and the VM was performing extremely poor. The CPU was getting pegged after only a couple client connections were tested. How could it be that adding CPU’s hurt performance of the VM even more?.

I found out from VMWare 1 interesting fact. Even though you may have added CPU’s to the VM after it was built. The HAL table that the OS uses to understand the hardware it has, does not see the newly added CPU’s. So you will see the CPU’s in the OS properties. But you will not be using all that you have available. A simple batch file can be run to update the HAL table. After a couple reboots you will notice a tremendous increase in performance.

If you would like to get the batch files for this issue please feel free to contact me.