Monday, May 18, 2026

step‑by‑step guide to check CPU sockets, cores, threads, and multithreading (Hyper‑Threading/SMT)

Step‑by‑step guide to check CPU sockets, cores, threads, and multithreading (Hyper‑Threading/SMT)

✅ 1. BASIC UNDERSTANDING (IMPORTANT)

TermMeaning
SocketPhysical CPU installed on motherboard
CorePhysical processing unit inside CPU
ThreadLogical CPU (via Hyper‑Threading / SMT)
Multithreading Enabled?If Threads > Cores

πŸ‘‰ Example:

  • 1 socket, 4 cores, 8 threads → Hyper‑Threading ENABLED
  • 1 socket, 4 cores, 4 threads → Hyper‑Threading DISABLED

🐧 2. LINUX – STEP BY STEP

πŸ”Ή Step 1: Check CPU details

Run:

lscpu

Example output:

CPU(s):              8
Socket(s):           1
Core(s) per socket:  4
Thread(s) per core:  2

Interpret:

  • Sockets = 1
  • Cores = 4
  • Threads = 8
  • Thread per core = 2 → Multithreading ENABLED ✅

πŸ”Ή Step 2: Check using /proc

cat /proc/cpuinfo | grep "physical id" | sort -u | wc -l

πŸ‘‰ Gives number of sockets

cat /proc/cpuinfo | grep "cpu cores" | uniq

πŸ‘‰ Shows cores per socket

cat /proc/cpuinfo | grep "processor" | wc -l

πŸ‘‰ Total logical CPUs (threads)


πŸ”Ή Step 3: Quick single command summary

nproc

πŸ‘‰ gives total threads


πŸ”Ή Step 4: Check Hyper‑Threading explicitly

lscpu | grep "Thread"

If:

Thread(s) per core: 2

πŸ‘‰ ✅ Hyper‑Threading ON

If:

Thread(s) per core: 1

πŸ‘‰ ❌ OFF


πŸͺŸ 3. WINDOWS – STEP BY STEP

πŸ”Ή Step 1: Task Manager (GUI method)

  1. Press Ctrl + Shift + Esc
  2. Go to Performance tab → CPU
  3. Look at:
Sockets: X
Cores: Y
Logical processors: Z

πŸ‘‰ Example:

  • Cores = 4
  • Logical processors = 8
    ✅ Multithreading ENABLED

πŸ”Ή Step 2: Command Prompt

Run:

wmic cpu get NumberOfCores,NumberOfLogicalProcessors

Output:

NumberOfCores  NumberOfLogicalProcessors
4              8

πŸ‘‰ Threads (LogicalProcessors) > Cores
✅ Hyper‑Threading ON


πŸ”Ή Step 3: PowerShell (recommended)

Get-WmiObject Win32_Processor | Select NumberOfCores, NumberOfLogicalProcessors, SocketDesignation

OR modern cmdlet:

Get-CimInstance Win32_Processor | Select NumberOfCores,NumberOfLogicalProcessors



πŸ”Ή Step 4: System Information

Run:

msinfo32

Check:

  • Processor
  • Logical processors

πŸ” 4. HOW TO TELL IF MULTITHREADING IS ENABLED

✅ Rule:

If Threads > Cores → ENABLED
If Threads = Cores → DISABLED

Example:

CoresThreadsStatus
48✅ Enabled
816✅ Enabled
44❌ Disabled

πŸ”§ 5. BIOS LEVEL CHECK (Important)

Even if OS shows cores/threads, final control is in BIOS.

Steps:

  1. Reboot system
  2. Enter BIOS (F2 / DEL / ESC)
  3. Look for:
    • Intel Hyper‑Threading
    • AMD SMT (Simultaneous Multithreading)

Settings:

  • Enabled ✅ → uses threads
  • Disabled ❌ → only physical cores

✅ 6. QUICK CHEAT SHEET

Linux

lscpu

Windows

wmic cpu get NumberOfCores,NumberOfLogicalProcessors


πŸš€ FINAL SUMMARY

PlatformCommandWhat to Check
LinuxlscpuThreads per core
Linux/proc/cpuinfocores, sockets
WindowsTask ManagerLogical processors
Windowswmiccores vs threads
    



SQL> SELECT stat_name, value
FROM   v$osstat
WHERE  stat_name IN ('NUM_CPUS','NUM_CPU_CORES','NUM_CPU_SOCKETS');
``  2    3
STAT_NAME                           VALUE
------------------------------ ----------
NUM_CPUS                                8
NUM_CPU_CORES                           8
NUM_CPU_SOCKETS                         2

SQL>


Interpretation:

NUM_CPUS = logical CPUs visible to the OS (includes HT threads)
NUM_CPU_CORES = physical cores
If NUM_CPUS > NUM_CPU_CORES → SMT/HT enabled
If NUM_CPUS = NUM_CPU_CORES → SMT/HT disabled



SQL> !cat /proc/cpuinfo | egrep "processor|cpu cores|siblings|physical id" 

physical id     : 0
siblings        : 4
cpu cores       : 4
processor       : 1

cpu cores = physical cores per socket
siblings = logical CPUs per socket

If siblings > cpu cores → SMT/HT enabled
If siblings == cpu cores → SMT/HT disabled




No comments:

Post a Comment

About the Author : Anurag Pandey | Database cloud Architect | Oracle | SQL Server | PostgreSQL | AI and Data Platform Enthusiast

Anurag Pandey is a Database Architect with expertise in Oracle, PostgreSQL, SQL Server, Linux, and enterprise database platforms and specializes in database architecture, performance tuning, high availability, disaster recovery, cloud modernization, and operational excellence. With extensive experience in enterprise-scale environments, Anurag is passionate about leveraging AI, automation, and modern data platforms to improve reliability, scalability, and business outcomes. He actively contributes to technical communities through knowledge sharing, architecture guidance, and thought leadership in database and data engineering domains.

Follow more articles at

Visit Blog

Oracle Database Deep Health Check Checklist

Oracle Database Deep Health Check Checklist Recommended assessment levels Level Purpose Typical scope L1 Operational health Availability, sp...