Need some explanation about sockets and cpus

andybrunner

New Member
Nov 12, 2024
13
3
3
Zurich
I am asking the following question, because I want to correctly limit the CPU consumptions of my VMs. My dedicated server from a hosting provider has the following specification:

- AMD Ryzen 7 7700 8x3.8 GHz

In my understanding, this is a single-socket server with a big chip holding 8 physical cores (not CPUs).

Now Proxmox tells me:

- 16 x AMD Ryzen 7 7700 8-Core Processor (1 Socket)

So I guess I have an 8 core processor, where each core holds 2 CPUs.

In one of my Windows VMs, I configured 2 sockets, 1 CPU. The Windows task manager shows 2 Sockets and 2 processors.

So am I right in assuming:

- Cores are the physical units which hold the CPUs
- CPU is (still) the smallest hardware unit which executes the code
- Sockets has no meaning for the CPU allocation. 2 Sockets with 1 CPU is the same as 1 Socket with 2 CPUs.

Is that right?
 
In my understanding, this is a single-socket server with a big chip holding 8 physical cores (not CPUs).

Now Proxmox tells me:

- 16 x AMD Ryzen 7 7700 8-Core Processor (1 Socket)

So I guess I have an 8 core processor, where each core holds 2 CPUs.
No. There is one socket filled with one CPU that has 8 cores with SMT enabled: resulting in a total of 16 execution units. The "AMD Ryzen 7 7700 8-Core Processor" text is just the literal identification from the CPU itself.

In one of my Windows VMs, I configured 2 sockets, 1 CPU. The Windows task manager shows 2 Sockets and 2 processors.

So am I right in assuming:

- Cores are the physical units which hold the CPUs
- CPU is (still) the smallest hardware unit which executes the code
- Sockets has no meaning for the CPU allocation. 2 Sockets with 1 CPU is the same as 1 Socket with 2 CPUs.

Is that right?
No. See for example this explanation: https://www.itechtics.com/cpu-sockets-cores-threads-logical-processors/
Going with multiple virtual sockets mostly makes sense on a NUMA system (and best to use the same number of virtual sockets as physical sockets).
 
  • Like
Reactions: andybrunner
No. There is one socket filled with one CPU that has 8 cores with SMT enabled: resulting in a total of 16 execution units. The "AMD Ryzen 7 7700 8-Core Processor" text is just the literal identification from the CPU itself.


No. See for example this explanation: https://www.itechtics.com/cpu-sockets-cores-threads-logical-processors/
Going with multiple virtual sockets mostly makes sense on a NUMA system (and best to use the same number of virtual sockets as physical sockets).

Got it - Thanks for your explanation!