xp_msver - Processor Count

  • Hi,

    Our software product is licensed on number of CPU configured in SQL Server. We have been always using the xp_msver to get the processor count in the SQL Server machine to check the licenses. However, with the recent tech. devlopments, Intel has released newer processors with a tech. called as "hyperhtreading" which makes the OS see the single processor as "2" processor. The OS shows 2 processor and SQL Server also obviously shows two processor even though the actual number of processor is only one..

    How to determine the actual number of processors now in the system ? The OS and Sql Server shows the virtual processor count because of the so called, "hyperthreading"..

    Any ideas?.

    Thanks

    Ganesh

  • Hi Ganesh,

    Came across this one myself last week. I was working with a HP DL380 xeon 2 cpu machine with Hyperthreading enabled. Whhen you put windows 2003 on it, you have 4 cpus.

    Microsoft suggests that you license by physical number of cpu's. BUT if using processor affinity, or such, you should take into account what the operating system is seeing courtesy of hyperthreading eg 4 cpus. it also appears that if the hyperthreading ratio changes in the future that SQL has some leeway about how many cpus can be used.

    There is also the caveat that hyperhtreading may not improve performance with all applications, so try it first.

    http://www.microsoft.com/hwdev/platform/proc/HT-Windows.asp

    http://www.microsoft.com/sql/howtobuy/hyperthreading.asp

    Regards, Brian in AU

    bsutherland@kp g.com.au

  • Hi Brian,

    Thanks for your reply. I did go thru the docs. Is there a programatical way to determine the physical count of the processors in the OS?. Our application is .NET application with SQL Server at the backend.

    I will happy if you could throw some light on this.

    Regards,

    Ganesh

     

  • I don't believe Windows 2000 can do this. Windows 2003 is supposed to be able to tell which are physical and which are logical, but I doubt that SQL Server 2000 can tell.

     

  • Hi Steve,

    Could you please help me (with code snippets!) in determining the # of logical and physical processors in Windows 2003?.

    Thanks,

    Ganesh

  • Hello

    Have you seen the utility that Intel have developed to return this information.  Have a look at the link below and see if it does what you are after.

    http://www.intel.com/cd/ids/developer/asmo-na/eng/microprocessors/ia32/pentium4/optimization/20438.htm

    Grant Newport (MCDBA)

    General Manager Operations

    SQL Services Ltd

    P O Box 1455  Nelson  NEW ZEALAND

    Work: (+64) 3 546 2058

    mailto:grant.newport@sqlservices.com

    WEB Site http://www.sqlservices.com

Viewing 6 posts - 1 through 5 (of 5 total)

You must be logged in to reply to this topic. Login to reply