Today I was quite thrilled since the Quad Core X3370 for my HP ML110 G5 arrived. Placing the CPUs is very easy, and using T15 or a flat screwdriver you should be able to do too. In fact, it took me more time to write this article than installing the new CPUs .
Okay, here are some pictures:
This is the before situation: default dual core 2.33GHz (3065), NO FT
Put the host in maintenance mode and shut it down, giving it a good reason:
And then after the upgrade:
The brand new and fast X3370 @ 3.00GHz, and most important, FT is enabled!
And I just confirmed it works! The CPU is fast, FT works - ME HAPPY!
While our enthusiastic video reporter E. Sloof from NTPRO is not a VMworld at the moment, VMware themselves are creating some cool video's too. I liked the data-center especially and how it was build. Bottom line: it's 35.000.000 dollars worth of equipment.
Now we want to be in control and determine ourselves to restart the hostd process, but we do not run it against all server blindly. We needed a list first which tell us what servers are running high with hostd memory usage. Since vmware-hostd is a service console process, powershell wasn't really an option. So I used plink and dos batch scripting instead, giving me a perfect .csv list with the current memory usage on each server.
Check it out (part of the README-FIRST.TXT):
"Hi all,
This is a new nifty script to get the current memory usage of the vmware-hostd process.
What you need to do:
- Download plink.exe from the web (use google or: http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html) Put it in the same directory where all the scripts are (and where you should find this README-FIRST.TXT)
- Fill the 'servers.txt' file with your ESX servers - ipaddress/dns name - each server on each line. Like: esxserver01 esxserver02 esxserver03 etc.
- Replace the <password> <username> with a username and password which allows you to log on to your ESX server. It does not need to be root, also non-admin users should be able to run 'ps'. Alter the file: 'doaction.cmd' and 'trust.cmd'.
- Start 'startscript.cmd' FROM THE COMMANDLINE! So run 'cmd', cd to the dir where all these scripts are.
- If you are getting questions to accept the key file run 'startalltrust.cmd', it will use 'input.txt' file to provide a 'y' to all those key thingies.
- You should get result.csv with <servername>,<hostd memory usage>
"CPUBusy and CPUBusier ruled the world, needed multiple of them to force the powerful multi processors to work. But there is one ruler of them all, which able to master the powerful multi processors on it's own. I present to you: CPUBusiest, one to rule them all"
After a lot of challenges programming a multi-threaded version of CPUBusier I finally did it (though with some help from Michiel Doeven, thanks Michiel). I have just uploaded the latest beast allowing to get your CPUs steaming. Usage is still the same, top slider to control the amount of sines to calculate, the bottom slider to control the amount of threads to start. Go to 'Options...' and you can go up to 16 threads and 100 sines.
Depending on the sliders it starts timing, kick off the threads and then waits until all threads are finished, and time is measured. After a second tick it will kick off a new series of threads, and so on.
Use at free will, have fun with it. I'm open for improvements, just leave a comment.
*update* I've created a multithreaded version, stressing multi core / vSMP VMs. Check it out here: CPUBusiest
Remember the good 'old CPUBusy script used during the VMware Install & Configure training? Well I wanted to have something which allows you to control the load. So I created this little piece of software called CPUBusier.
The slider allows you to control how many sines to calculate per second. Start/Stop button to start/stop the load (duh) and 'Options...' to control the maximum amount when the slider is to the far right.
Here is a demo, gradually moving the slider to the right on my laptop. Note: to get this figure, set affinity to only one CPU in Windows task manager.
Did you know: that ESX checks every 20ms to migrate a vCPU to another pCPU for the optimal workload balance. This is configurable (0ms - 5000ms) in Cpu.MigratePeriod in Advanced Settings of you ESX server.