0

I want ask issue regarding the number of cpu threads that can be read from the os. This question is how to resolve core not showing and not ask how to check core threads.

Server spec

  • Hpe dl360p gen8
  • Cpu: 2 x E5-2680 v2
  • Debian Proxmox
  • Hyperthreading enabled On Bios

Threads cpu should be 40 threads from 20 cores, but when I checked from lscpu and cat /proc/cpuinfo only show 20 threads.

Before I rebooted the server, the threads still read 40, and after I rebooted it only read 20 threads.

Do you have idea to make all threads show?

Trweb
  • 21

1 Answers1

0

Hyperthreading can also be disabled through the Linux OS. If your system has had the initial workaround applied for the ZombieLoad attack of the Spectre family, it might have included OS-level disabling for hyperthreading - and as you booted the system, the workarond may have only just taken effect.

Run cat /sys/devices/system/cpu/smt/active: if it returns 0 then hyperthreading is not active. cat /sys/devices/system/cpu/smt/control will indicate if it's possible to re-enable hyperthreading without a reboot or not.

If the disabling has been done by adding a boot option nosmt=force or by running echo forceoff > /sys/devices/system/cpu/smt/control, then you must find the disabling option/command, remove it and reboot the system to re-enable hyperthreading.

If cat /sys/devices/system/cpu/smt/control says off (= not forceoff nor notsupported), then you can re-enable hyperthreading without a reboot by echo on > /sys/devices/system/cpu/smt/control.

Source: this question on Server Fault and kernel documentation.

On the other hand, HP ProLiant DL360p Gen8 is a product that was introduced in 2012 and its End-Of-Sale was in 2016, so by now it's near the end of its expected service life. If the system has been running for most of its lifetime, it's possible that one of your CPUs just happened to fail when you rebooted the system.

telcoM
  • 96,466