Turn CPU’s into Cores

Posted: June 5, 2009 in Tips and Tricks, VMware

I was working on a customers site not long ago and had to set a static MAC address for a Virtual Machine so when it moved between hosts via a manual or DRS initiated migration it would not alter the MAC and in turn break the application that was hardcoded to a particular MAC.

I remember thinking at the time if there was a way you could tell a VM to ignore or mask additional CPU’s to aviod licensing contraints…. as this particular application was bound to MAC and also number of CPU’s.

 A month or so later im browsing around and I found Duncan from yellow-bricks posted this neat little trick.

  1. Power off the VM
  2. Right click on the VM and select “Edit Settings…”
  3. Select the “Options” tab
  4. Click on “General” (in the “Advanced” options section)
  5. Click “Configuration Parameters…” (in the pane on the right)
  6. Click “Add Row”
  7. Enter “cpuid.coresPerSocket” in the “Name” column
  8. Enter a value (try 2, 4, or in the “Value” column
  9. Click “OK”
  10. Power on the VM

The VM will now appear to the OS as having multi-core CPUs with the number of cores per CPU given by the value that you selected. For example, if you create an 8 VCPU VM and set “cpuid.coresPerSocket = 2″ it will be recognized as 4 dual-core CPU’s by the OS while it’s actually utilizing 8 physical cores.


Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s