Accurate CPU count

  • Does anyone know of a way to get an accurate count of the CPUs on a SQL Server box?  HyperThreading always makes one physical CPU look like two.  Preferably, there is a programatic way to determine this so I can accurately update my server inventory.

  • When HyperThreading is on, does the extended stored procedure xp_msver return the correct number of CPUs?

    execute master.dbo.xp_msver 'ProcessorCount'

    SQL = Scarcely Qualifies as a Language

  • Thanks for the response, but that too shows "HyperThreaded" cpu counts, not physical.

  • Check intel - I think there is a tool that you can download and run which will give you information on  "logical processers" and "Physical processers" on a server.

  • That did it.  Intel has a downloadable utility ( http://downloadfinder.intel.com/scripts-df/Product_Filter.asp?ProductID=1881 )you can install and run to give you all sorts of information on the CPU(s) on your system.  Unfortunately for me, it's not something I can run programatically on all of our SQL servers.  I would need to install this utility on every one.

    Still, I also found a nice tutorial which explains what HT is all about and how you can write your own program using C and assembler.  Of course I haven't done assembler since college on an 8088 processor!  http://or1cedar.intel.com/media/training/detect_ht/tutorial/index.htm

    Thanks for the suggestion.

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

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