View previous topic :: View next topic |
Author |
Message |
Zucca Moderator


Joined: 14 Jun 2007 Posts: 4036 Location: Rasi, Finland
|
Posted: Wed Apr 09, 2025 7:45 pm Post subject: Do others have this stange numbering of CPU cores? [SOLVED] |
|
|
Just take a careful look at this: Code: | coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +51.0°C (high = +95.0°C, crit = +105.0°C
Core 0: +44.0°C (high = +95.0°C, crit = +105.0°C
Core 1: +45.0°C (high = +95.0°C, crit = +105.0°C
Core 2: +45.0°C (high = +95.0°C, crit = +105.0°C
Core 3: +45.0°C (high = +95.0°C, crit = +105.0°C
Core 4: +45.0°C (high = +95.0°C, crit = +105.0°C
Core 8: +44.0°C (high = +95.0°C, crit = +105.0°C
Core 9: +44.0°C (high = +95.0°C, crit = +105.0°C
Core 10: +47.0°C (high = +95.0°C, crit = +105.0°C
Core 11: +45.0°C (high = +95.0°C, crit = +105.0°C
Core 12: +44.0°C (high = +95.0°C, crit = +105.0°C
Core 16: +49.0°C (high = +95.0°C, crit = +105.0°C
Core 17: +45.0°C (high = +95.0°C, crit = +105.0°C
Core 18: +44.0°C (high = +95.0°C, crit = +105.0°C
Core 19: +43.0°C (high = +95.0°C, crit = +105.0°C
Core 20: +44.0°C (high = +95.0°C, crit = +105.0°C
Core 24: +49.0°C (high = +95.0°C, crit = +105.0°C
Core 25: +44.0°C (high = +95.0°C, crit = +105.0°C
Core 26: +44.0°C (high = +95.0°C, crit = +105.0°C
Core 27: +44.0°C (high = +95.0°C, crit = +105.0°C
Core 28: +44.0°C (high = +95.0°C, crit = +105.0°C |
Code: | │d-mill ~ # lscpu | awk '{print; if ($1 == "BogoMIPS:") exit}'
│Architecture: x86_64
│CPU op-mode(s): 32-bit, 64-bit
│Address sizes: 46 bits physical, 48 bits virtual
│Byte Order: Little Endian
│CPU(s): 80
│On-line CPU(s) list: 0-79
│Vendor ID: GenuineIntel
│Model name: Intel(R) Xeon(R) CPU E5-2698 v4 @ 2.20GHz
│CPU family: 6
│Model: 79
│Thread(s) per core: 2
│Core(s) per socket: 20
│Socket(s): 2
│Stepping: 1
│CPU(s) scaling MHz: 35%
│CPU max MHz: 3600.0000
│CPU min MHz: 1200.0000
│BogoMIPS: 4389.79 | So core count should be from 0 to 19 (or 1 to 20).
What's happening here? _________________ ..: Zucca :..
My gentoo installs: | init=/sbin/openrc-init
-systemd -logind -elogind seatd |
Quote: | I am NaN! I am a man! |
Last edited by Zucca on Thu Apr 10, 2025 6:43 am; edited 1 time in total |
|
Back to top |
|
 |
szatox Advocate

Joined: 27 Aug 2013 Posts: 3602
|
Posted: Wed Apr 09, 2025 8:18 pm Post subject: |
|
|
Multicore CPUs are manufactured with a designed number of cores, tested, and have faulty cores disabled and a label with a matching rating slapped on them.
I suppose what you're seeing there is a result of that procedure.
The missing cores are dead, but the die is still functional, so it's better to make some money advertising the good cores than pay to dispose of the whole package.
I know some processors have been restricted without the need for cores to be faulty, simply to sell them at a discount (e.g. because there was more demand for dual core than quad on a consumer market - I know, I know, old times), and vaguely remember news about overclockers unlocking them by cutting some bridges or drawing new traces with pencils. _________________ Make Computing Fun Again |
|
Back to top |
|
 |
Zucca Moderator


Joined: 14 Jun 2007 Posts: 4036 Location: Rasi, Finland
|
Posted: Wed Apr 09, 2025 8:46 pm Post subject: |
|
|
szatox wrote: | Multicore CPUs are manufactured with a designed number of cores, tested, and have faulty cores disabled and a label with a matching rating slapped on them. | Yes. This is what I thought too, but Broawell does not have cpus which have that many cores.
Even Broadwell-EX is capped at 24 cores.
szatox wrote: | and vaguely remember news about overclockers unlocking them by cutting some bridges or drawing new traces with pencils. | Yes. This was possible. But if the enabled core really was a faulty one, you might get nasty errors. ;) _________________ ..: Zucca :..
My gentoo installs: | init=/sbin/openrc-init
-systemd -logind -elogind seatd |
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
 |
pingtoo Veteran


Joined: 10 Sep 2021 Posts: 1612 Location: Richmond Hill, Canada
|
Posted: Wed Apr 09, 2025 9:03 pm Post subject: |
|
|
Your lscpu output said there are two (2) sockets on your mother board and it seems both were occupied. So I assume you should see 40 cores? |
|
Back to top |
|
 |
szatox Advocate

Joined: 27 Aug 2013 Posts: 3602
|
Posted: Wed Apr 09, 2025 9:15 pm Post subject: |
|
|
Zucca wrote: | szatox wrote: | Multicore CPUs are manufactured with a designed number of cores, tested, and have faulty cores disabled and a label with a matching rating slapped on them. | Yes. This is what I thought too, but Broawell does not have cpus which have that many cores.
Even Broadwell-EX is capped at 24 cores. | When I pasted your cpu into search it showed my 16 cores + HT for a total of 32 (virtual) cores reported to the OS. That's more than your 20.
Looks good to me. (Even though it's still a guess).
One more things, since you have more than 1 socket: do numbers in the other socket fit in the gaps?
Maybe there is something about discovery order? _________________ Make Computing Fun Again |
|
Back to top |
|
 |
Zucca Moderator


Joined: 14 Jun 2007 Posts: 4036 Location: Rasi, Finland
|
Posted: Wed Apr 09, 2025 10:40 pm Post subject: |
|
|
The CPUs are E5 2698 v4's
Here's the full output of sensors: Code: | coretemp-isa-0000
Adapter: ISA adapter
Package id 0: +44.0°C (high = +95.0°C, crit = +105.0°C)
Core 0: +38.0°C (high = +95.0°C, crit = +105.0°C)
Core 1: +38.0°C (high = +95.0°C, crit = +105.0°C)
Core 2: +38.0°C (high = +95.0°C, crit = +105.0°C)
Core 3: +37.0°C (high = +95.0°C, crit = +105.0°C)
Core 4: +38.0°C (high = +95.0°C, crit = +105.0°C)
Core 8: +38.0°C (high = +95.0°C, crit = +105.0°C)
Core 9: +38.0°C (high = +95.0°C, crit = +105.0°C)
Core 10: +39.0°C (high = +95.0°C, crit = +105.0°C)
Core 11: +38.0°C (high = +95.0°C, crit = +105.0°C)
Core 12: +38.0°C (high = +95.0°C, crit = +105.0°C)
Core 16: +38.0°C (high = +95.0°C, crit = +105.0°C)
Core 17: +37.0°C (high = +95.0°C, crit = +105.0°C)
Core 18: +38.0°C (high = +95.0°C, crit = +105.0°C)
Core 19: +37.0°C (high = +95.0°C, crit = +105.0°C)
Core 20: +38.0°C (high = +95.0°C, crit = +105.0°C)
Core 24: +37.0°C (high = +95.0°C, crit = +105.0°C)
Core 25: +37.0°C (high = +95.0°C, crit = +105.0°C)
Core 26: +37.0°C (high = +95.0°C, crit = +105.0°C)
Core 27: +37.0°C (high = +95.0°C, crit = +105.0°C)
Core 28: +38.0°C (high = +95.0°C, crit = +105.0°C)
amdgpu-pci-0500
Adapter: PCI adapter
vddgfx: 843.00 mV
fan1: 712 RPM (min = 400 RPM, max = 4900 RPM)
edge: +34.0°C (crit = +85.0°C, hyst = -273.1°C)
(emerg = +90.0°C)
junction: +35.0°C (crit = +105.0°C, hyst = -273.1°C)
(emerg = +110.0°C)
mem: +37.0°C (crit = +95.0°C, hyst = -273.1°C)
(emerg = +100.0°C)
PPT: 3.00 W (cap = 110.00 W)
pwm1: 12%
sclk: 9 MHz
mclk: 167 MHz
nvme-pci-0900
Adapter: PCI adapter
Composite: +45.9°C
coretemp-isa-0001
Adapter: ISA adapter
Package id 1: +60.0°C (high = +95.0°C, crit = +105.0°C)
Core 0: +53.0°C (high = +95.0°C, crit = +105.0°C)
Core 1: +54.0°C (high = +95.0°C, crit = +105.0°C)
Core 2: +53.0°C (high = +95.0°C, crit = +105.0°C)
Core 3: +53.0°C (high = +95.0°C, crit = +105.0°C)
Core 4: +54.0°C (high = +95.0°C, crit = +105.0°C)
Core 8: +54.0°C (high = +95.0°C, crit = +105.0°C)
Core 9: +53.0°C (high = +95.0°C, crit = +105.0°C)
Core 10: +53.0°C (high = +95.0°C, crit = +105.0°C)
Core 11: +54.0°C (high = +95.0°C, crit = +105.0°C)
Core 12: +55.0°C (high = +95.0°C, crit = +105.0°C)
Core 16: +53.0°C (high = +95.0°C, crit = +105.0°C)
Core 17: +53.0°C (high = +95.0°C, crit = +105.0°C)
Core 18: +53.0°C (high = +95.0°C, crit = +105.0°C)
Core 19: +53.0°C (high = +95.0°C, crit = +105.0°C)
Core 20: +53.0°C (high = +95.0°C, crit = +105.0°C)
Core 24: +54.0°C (high = +95.0°C, crit = +105.0°C)
Core 25: +53.0°C (high = +95.0°C, crit = +105.0°C)
Core 26: +52.0°C (high = +95.0°C, crit = +105.0°C)
Core 27: +53.0°C (high = +95.0°C, crit = +105.0°C)
Core 28: +53.0°C (high = +95.0°C, crit = +105.0°C)
dell_smm-isa-00de
Adapter: ISA adapter
Processor Fan: 1172 RPM (min = 0 RPM, max = 4520 RPM)
Processor Fan: 1250 RPM (min = 0 RPM, max = 5755 RPM)
Other Fan: 838 RPM (min = 0 RPM, max = 5000 RPM)
CPU: +44.0°C
CPU: +60.0°C
SODIMM: +22.0°C
SODIMM: +36.0°C
SODIMM: +45.0°C
pwm1: 128%
pwm2: 128%
pwm3: 128%
nvme-pci-0200
Adapter: PCI adapter
Composite: +43.9°C |
My other intel box shows normal looking sensors output. Although it only has 4-core cpu with no hyper threading.
This workstation is the only intel machine I have which does have hyperthreading. I would assume there being no sensor data for the virtual, hyperthreaded, CPUs... I could be wrong, just an assumption. _________________ ..: Zucca :..
My gentoo installs: | init=/sbin/openrc-init
-systemd -logind -elogind seatd |
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
 |
szatox Advocate

Joined: 27 Aug 2013 Posts: 3602
|
Posted: Wed Apr 09, 2025 11:06 pm Post subject: |
|
|
Huh... So you actually have 20 physical cores and 40 threads, and only 20 sensors? That's weird. Well, by human standards it does make perfect sense, but in computerland it kinda complicates things.
Hmm... The other one has the same numbers, so it is not random. And they are in a repeating pattern of 5+/3-.
Maybe they are trying to spread the heat generation as much as possible, and the remaining cores are considered spares? Dunno, I'm out of ideas.
BTW, you have more funny metrics there:
Code: | pwm1: 128%
pwm2: 128%
pwm3: 128% |
Putting a thermal threshold on absolute zero is an interesting choice as well whatever that "hyst" is supposed to stand for.
Code: | edge: +34.0°C (crit = +85.0°C, hyst = -273.1°C) |
_________________ Make Computing Fun Again |
|
Back to top |
|
 |
spica Guru

Joined: 04 Jun 2021 Posts: 355
|
Posted: Wed Apr 09, 2025 11:34 pm Post subject: |
|
|
Zucca, try to compare the numbers with `core id`s in /proc/cpuinfo
I guess you'll see the same numbering gaps there |
|
Back to top |
|
 |
Zucca Moderator


Joined: 14 Jun 2007 Posts: 4036 Location: Rasi, Finland
|
Posted: Wed Apr 09, 2025 11:39 pm Post subject: |
|
|
Yes. These are oldish server/workstation CPUs. 20-cores each.
Yeah, and the three temp sensors on RAM does not make any sense whatsoever. Each cpu has two slots on each side, totalling 8 sticks.
I really don't know how it pulled three. Four would make sense... _________________ ..: Zucca :..
My gentoo installs: | init=/sbin/openrc-init
-systemd -logind -elogind seatd |
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
 |
Zucca Moderator


Joined: 14 Jun 2007 Posts: 4036 Location: Rasi, Finland
|
Posted: Wed Apr 09, 2025 11:50 pm Post subject: |
|
|
spica wrote: | Zucca, try to compare the numbers with `core id`s in /proc/cpuinfo
I guess you'll see the same numbering gaps there | Sure enough: Code: | d-mill ~ # egrep 'processor|core id' /proc/cpuinfo | head -n 40
processor : 0
core id : 0
processor : 1
core id : 1
processor : 2
core id : 2
processor : 3
core id : 3
processor : 4
core id : 4
processor : 5
core id : 8
processor : 6
core id : 9
processor : 7
core id : 10
processor : 8
core id : 11
processor : 9
core id : 12
processor : 10
core id : 16
processor : 11
core id : 17
processor : 12
core id : 18
processor : 13
core id : 19
processor : 14
core id : 20
processor : 15
core id : 24
processor : 16
core id : 25
processor : 17
core id : 26
processor : 18
core id : 27
processor : 19
core id : 28 | Core ids have those same gaps.
While on my AMD laptop: Code: | zucca@NBLK-WAX9X ~ $ egrep 'processor|core id' /proc/cpuinfo
processor : 0
core id : 0
processor : 1
core id : 0
processor : 2
core id : 1
processor : 3
core id : 1
processor : 4
core id : 2
processor : 5
core id : 2
processor : 6
core id : 3
processor : 7
core id : 3 | So on the laptop core ids count less. Makes sense.
Laptop still runs on 6.1 kernel, workstation runs 6.6.
I'll update laptop kernel sometime soon to 6.6 too. We'll see if this same thing happens then too. _________________ ..: Zucca :..
My gentoo installs: | init=/sbin/openrc-init
-systemd -logind -elogind seatd |
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
 |
spica Guru

Joined: 04 Jun 2021 Posts: 355
|
Posted: Thu Apr 10, 2025 12:04 am Post subject: |
|
|
This is example for Intel(R) Core(TM) Ultra 7 155H which is a laptop CPU, it also has gaps for P-cores
Code: | $ perl -nle 'BEGIN{$/="\n\n"}print "proc:$1\tcore:$2" if m;processor\s*:\s*(\d+).*?core id\s*:\s*(\d+);gs' /proc/cpuinfo
proc:0 core:16
proc:1 core:8
proc:2 core:8
proc:3 core:12
proc:4 core:12
proc:5 core:16
proc:6 core:20
proc:7 core:20
proc:8 core:24
proc:9 core:24
proc:10 core:28
proc:11 core:28
proc:12 core:0
proc:13 core:1
proc:14 core:2
proc:15 core:3
proc:16 core:4
proc:17 core:5
proc:18 core:6
proc:19 core:7
proc:20 core:32
proc:21 core:33 |
procs 0-11 are 6 P-cores
procs 12-19 are 8 E-cores
procs 20-21 are 2 LPE cores |
|
Back to top |
|
 |
mirekm Apprentice


Joined: 12 Feb 2004 Posts: 220 Location: Gliwice
|
Posted: Thu Apr 10, 2025 5:48 am Post subject: |
|
|
On Intel(R) Core(TM) i9-14900HX it looks like that:
Code: | proc:0 core:0
proc:1 core:0
proc:2 core:4
proc:3 core:4
proc:4 core:8
proc:5 core:8
proc:6 core:12
proc:7 core:12
proc:8 core:16
proc:9 core:16
proc:10 core:20
proc:11 core:20
proc:12 core:24
proc:13 core:24
proc:14 core:28
proc:15 core:28
proc:16 core:32
proc:17 core:33
proc:18 core:34
proc:19 core:35
proc:20 core:36
proc:21 core:37
proc:22 core:38
proc:23 core:39
proc:24 core:40
proc:25 core:41
proc:26 core:42
proc:27 core:43
proc:28 core:44
proc:29 core:45
proc:30 core:46
proc:31 core:47
|
|
|
Back to top |
|
 |
Zucca Moderator


Joined: 14 Jun 2007 Posts: 4036 Location: Rasi, Finland
|
Posted: Thu Apr 10, 2025 6:40 am Post subject: |
|
|
Ok, so this is pretty normal after all. Thanks! _________________ ..: Zucca :..
My gentoo installs: | init=/sbin/openrc-init
-systemd -logind -elogind seatd |
Quote: | I am NaN! I am a man! |
|
|
Back to top |
|
 |
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|