Different CPU count reported by SQL properties from server available

  • One of our servers is in the process of being migrated from a physical server with 24 cores to a virtual server that has 12 CPUs available. I have both configured with a MDOP of 8. Originally, the VS had 6 CPUs and as that it showed on the properties page. Last night it was upgraded to 12 CPUs but it was showing 6 in the properties page this morning. I removed the check from Automatically set processor affinity mask for all processors saved it and went back in to check it again. After that I had a count of 8, still not the available count for CPUs.

    If I run

    SELECT * FROM sys.dm_os_schedulers

    I get 8 VISIBLE_ONLINE and 4 HIDDEN_ONLINE. So the CPUs are seen by the scheduler just not available to user processes.

    But, if I run

    SELECT cpu_count FROM sys.dm_os_info

    I get a count of 8.

    I am not seeing any performance issues, at least not yet, but developers are "convinced" that there is something wrong with the server. So far I have only found TCP problems that were reported by SQLdoctor.

    Why would SQL report seeing only 8 CPUs? How can I get SQL to recognize all 12 CPUs?

    Best regards,

    Eduardo

  • Schedulers != CPUs.

    You have 8 CPU cores, that means 8 visible online schedulers (one for each core). The hidden schedulers are for background tasks or the DAC, they're created in addition to the one scheduler per core. They're not your 'missing' cores.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • That's what I thought but why I only see 8 cpus? Does anything need to be done to SQL Server when cpus are added? I thought it recognized them automatically.

    Thanks

  • Can Windows see the CPUs?

    Were they hot-added?

    What edition of SQL?

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • It's Windows Server 2008 R2 Enterprise. SQL Server is 2008. You are right, windows can only see 8 processors. That's the same number SQL can see. I assume they ere not hot added because systems rebooted the server but I don't know much about virtual servers.

  • You need to figure out why Windows can't see them. Chat with the VM admin. Once Windows can see the processors, then SQL should be able to with at most a service restart.

    Gail Shaw
    Microsoft Certified Master: SQL Server, MVP, M.Sc (Comp Sci)
    SQL In The Wild: Discussions on DB performance with occasional diversions into recoverability

    We walk in the dark places no others will enter
    We stand on the bridge and no one may pass
  • I just got off a meeting where I found out that this is a licensing issue. Windows does not see the extra 4 cpus because of the way they licensed it. I am going to keep this thread open because there might something related to this but the basic issue is not a SQL issue.

    Thanks

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

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