SQL CPU socket math issue

Nathan Heaivilin 0 Reputation points
2025-02-15T04:59:32.5766667+00:00

So, got a head scratcher here.

Quick Stats :

  1. SQL Server 2019 Enterprise Edition
  2. Ubuntu OS
  3. Proxmox LXC container
  4. CPU originally configured for 16 cores, now 8

The story:

Ran into massive slowness issues over the last couple of days with a client, after a server restart 2/12 due to a failed container backup locking drives.  When the system came back online, SQL Server was only using 1 of the 16 cores allocated.  Prior restart of server was 12/4 and no change in config between 12/4 and 2/12.  Everything was running fine until the restart. 

After much testing, and restarts with different CPU configs, we ended up reducing the core count to 8, which allowed all of the CPU's to be utilized.

Looking in the error logs, I found the following, and man, am I really really confused!  I don't have a masters in math or anything, but this sure doesn't add up. 

2025-02-13 13:47:14.590 Server       SQL Server detected 2 sockets with 3 cores per socket and 3 logical processors per socket, 8 total logical processors; using 8 logical processors based on SQL Server licensing. This is an informational message; no user action is required. 2025-02-12 10:00:23.330 Server       SQL Server detected 2 sockets with 3 cores per socket and 6 logical processors per socket, 16 total logical processors; using 16 logical processors based on SQL Server licensing. This is an informational message; no user action is required. 2024-12-04 01:08:46.050 Server       SQL Server detected 3 sockets with 5 cores per socket and 5 logical processors per socket, 16 total logical processors; using 16 logical processors based on SQL Server licensing. This is an informational message; no user action is required.

Running a query inside of SQL Server, I see the following:

Logical CPU Count,scheduler_count, Physical Core Count, Socket Count, cores_per_socket, numa_node_count 8,8,6,2,3,1

I'm really lost here folks and could use some guidance.

SQL Server
SQL Server
A family of Microsoft relational database management and analysis systems for e-commerce, line-of-business, and data warehousing solutions.
14,491 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. LiHongMSFT-4306 31,081 Reputation points
    2025-02-17T02:46:36.9266667+00:00

    Hi @Nathan Heaivilin

    To be clear, I am not that familiar with SQL Server on Ubuntu OS.

    As far as I know, SQL Server uses Windows APIs to determine the processors and package interactions.

    The calls to GetSystemInfo &  GetLogicalProcessorInformation retrieve the RelationProcessorCore and RelationProcessorPackage details. Using the returned information SQL Server assigns nodes and schedulers accordingly.  

    Best regards,

    Cosmog


    If the answer is the right solution, please click "Accept Answer" and kindly upvote it. If you have extra questions about this answer, please click "Comment".


Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.