How many logical CPUs does SQLSERVER recognize?

Source: Internet
Author: User
How many logical CPUs does SQLSERVER recognize? Preface in the Forum a few days ago, someone encountered the problem of SQLSERVER identifying logical CPU. Post address: Environment LZ's current environment was like this: Operating System: WindowsServer2008R2 Enterprise Edition SP1 high-availability configuration: Cluster database: SQLSERVER2005 Enterprise Edition 64-bit SP4 server hardware configuration

How many logical CPUs does SQLSERVER recognize? Preface a few days ago, someone encountered a problem with SQLSERVER identifying logical CPU in the forum. Post address: Environment LZ's current environment was like this: Operating System: Windows Server 2008 R2 Enterprise Edition SP1 high-Availability Configuration: cluster Database: SQL Server 2005 Enterprise Edition 64-bit SP4 server hardware configuration

How many logical CPUs does SQLSERVER recognize?

Preface

Someone encountered an SQL Server logic CPU recognition problem in the Forum a few days ago.

Post address:

Environment

The environment of LZ was as follows:

Operating System: Windows Server 2008 R2 Enterprise SP1

High Availability Configuration: Cluster

Database: SQLSERVER 2005 Enterprise Edition 64-bit SP4

Server hardware configuration:

CPU: HP DL980 G7 4*10 core 2.00G clock speed super thread function

Memory: 256 GB

SQL Server

LZ described at the time that he had enabled hyper-threading.

The operating system can identify 80 logical CPUs (in the Task Manager)

If the operating system can identify 80 logical CPUs, it indicates:

Four 10-core, 2.00 processor, each core dual-thread (4*10*2 = 80), that is, 80 Logic processors (each thread represents a logical CPU)

Or

Four 10-core 2.00 processors, one thread per core, but with hyper-Threading Technology changed to a dual-thread per core (4*10*2 = 80 ),

That is, 80 Logic processors (each thread represents a logic CPU)

In SQL server 2005, only cpu0-cpu59 can be identified by one database property processor and, after a cluster switchover, the other TakeOver resource node can only recognize 20 logical processors, LZ says.

Only 60 logical CPUs can be identified

Forum description

In the post, the two heroes both gave their respective statements:

Statement 1:

If you have multiple SQLSERVER instances in the same cluster, you 'd better split these processors and use them for multiple instances. For any SQLSERVER instance

You cannot use "automatically set all processor associated Masks"

Rmiao means that you cannot select "automatically set the processor Association mask for all processors" to prevent a cluster instance from exhausting all logical CPU resources.

Statement 2:

According to MSDN, SQLSERVER2005 Enterprise Edition supports the maximum number of processors in the operating system.

In this case, Eric Yi provides the following link:

64-bit Windows 7 and Windows Server2008 R2 introduce the concept of Process Group to support more than 64 logical CPUs on one machine

It organizes some logical CPUs into one group, but the total number of logical CPUs in one group cannot exceed 64. Otherwise, it is incorporated into another group.

In addition, the logical CPU allocation is not necessarily average. The operating system automatically groups logical CPUs according to the physical distance.

For example, it may be 20 or 60 cores after restart.

The Process Group concept was introduced in Windows2008. When SQLSERVER2008 was developed, no corresponding changes were made,

Therefore, SQLSERVER2008 cannot support this function. Upgrade to SQLSERVER2008 R2 to solve this problem.

It can detect a maximum of 256 logical CPUs at the same time.

If you cannot upgrade to SQLSERVER2008 R2, you can manually intervene in the Process Group and set the first Process Group to 64-core,

To use as much CPU as possible, but the operating system must be 64-bit Windows2008R2 or 64-bit Windows7 or later.

For details about how to set Process Group, refer:

Translation

How to Set Process Group

Title: How to manually set a processor group on a multi-processor machine

Overview

The manual settings of the processor group are allocated starting from the 64-bit Windows Server 2008 R2 operating system and applied in

NUMA (non-Unified memory architecture) architecture system with more than 64 logical CPUs. Processor group settings allow

The administrator specifies a static NUMA node for the processor group, which is more dynamic

It is better to allocate NUMA nodes to the processor group.

Note: OEMs can configure the optimal processor group for the system before the OEM system leaves the factory.

More information

In the past, when a processor group was not manually set, Windows assigned the NUMA node to the Group in the form of the smallest group.

Windows uses its own experience to assess the minimum node distance from the previous start to allocate the internal node distance between each processor group.

The administrator system administrator can reset the automatic grouping and allocation using one of the following two methods:

First, use BCDEdit.

Second, use the modify registry

Note: Windows Server2008R2 uses the following reset priority:

Manually modifying the Registry priority is greater than resetting the BCDEdit setting. Then, the BCDEdit setting overwrites the automatic grouping allocation of the operating system.

That is to say, the priority is: manually modify the Registry> BCDEdit Settings> Automatic Grouping and allocation of operating systems

Use BCDEdit to configure group allocation

The administrator system administrator can use BCDEdit to overwrite the default group allocation. BCDEdit allows you to change the group size and maximum group size.

You can find this setting method in the "Modify operating system startup parameters to drive the test multi-processor grouping support" article in MSDN.

Article address: (VS.85). aspx

Related commands:

Bcdedit.exe/set groupsize maxsize bcdedit.exe/deletevalue groupsize bcdedit.exe/set groupaware off

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.