[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Xen-users] FW: CPU enumeration



Unsuccessfully submitted a question yesterday similar to my colleague Joe Coleman, prior to realizing he’d already submitted the question.  I appear to have found the solution this morning on experts-exchange.com, thanks to user “sholford”.  The answer was in use of the “xe vm-param-set platform:cores-per-socket=4 uuid=xxxxxx” command.  On the Dell PE2950, dual quad core E5410’s (no hyperthreading), I set cores per socket to 4, but on another XCP host with E5630 procs (quad core but with HT as well) I set cores-per-socket to 8 so as to get my WinServer 2008 guest to see 2 cpu’s in system properties, but Task Manager shows 16.  Just about to run a data scramble test against a DB to compare results to the same test on a similar system albeit with Windows installed on “bare metal”.

Post below was from 4/25/09 and does not mention which version of Xen he hadn’t gotten it to work on.  I’m on XCP 0.5.0 and it appears to work perfectly.

-John



sholford <http://www.experts-exchange.com/M_4886216.html> :
 
 The problem is that XenServer virtualises each core as a separate physical processor in its own socket. Windows Server 2008 and 2003 are limited to 4 sockets, so you can only see 4 of your 8 cores in the task manager.

If you look in the Device Manger you'll see all 8 cores because Windows sees them all, but won't let you use them.

If you look in the XenServer Host console in the Hardware section, it will report 8 physical CPUs too.

The following solution has been claimed to work and I suggest you try it, but I haven't personally managed to get it to work.

In XenCenter set the VCPUs for your VM to 2.

Then enter the attached code snipped into the XenServer Host console. To find the UUID for your VM, type xe vm-list (select it, right click and copy then paste when you need to enter the UUID as it's quite long).

Now boot the VM and the task manager should show all 8 cores.

  
xe vm-param-set platform:cores-per-socket=4 uuid=xxxxxx
 
xe vm-param-set VCPUs-at-startup=8 uuid=xxxxxx
 
xe vm-param-set VCPUs-max=8 uuid=xxxxxxx





------ Forwarded Message
From: John Buchanan <john.buchanan@xxxxxxxxxxxxxxxxxx>
Date: Wed, 3 Nov 2010 13:37:45 -0500
To: "xen-users@xxxxxxxxxxxxxxxxxxx" <xen-users@xxxxxxxxxxxxxxxxxxx>
Subject: CPU enumeration

Hello,

Is it possible to alter how XCP enumerates multi-core cpu’s such that a Vcpu represents a “socket”, rather than a “core”?  A server with dual quad core processors, no HT, presents each of the 8 cores as a Vcpu to the guest.  Windows Server 2008 R2 see’s each Vcpu as a unique “socket” and we are therefore coming up against licensing issues with Windows and more importantly SQL Server 2008 Standard Ed which is licensed for a maximum of 4 cpu’s (meaning 4 cores of a quad-core processor as a VM).  The issue is worsened on a system with HT because then the quad core processor is presented to the VM’s as having 8 Vcpu’s, and SQL Server 2008 will only use 4 of them, or half the actual cores in a given cpu.

When Windows Server 2008 R2 Standard edition is installed “bare metal” on the same dual-quad server it identifies the system as a dual processor with 8 total cores, and SQL Server then uses all 8 cores.

I understand that it is possible make some alterations using “xe vm-param-set uuid=<vm uuid> VCPUs-params:”.  But I’m not finding a way to present this two socket server as such to the guest, rather than an 8-socket system.

Running XCP 0.5.0 on a Dell PE2950 with dual E5410 Xeon processors.

Thanks!

John Buchanan
John.buchanan@xxxxxxxxxxxxxxxxxx

_______________________________________________
Xen-users mailing list
Xen-users@xxxxxxxxxxxxxxxxxxx
http://lists.xensource.com/xen-users

 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.