Linux – /proc/cpuinfo gives CPU info per core or per thread

cpuhyper-threadinglinuxmulti-core

My CPU has 2 cores, so I can see two parts in /proc/cpuinfo.

But, I want to know if CPUs that support Hyper-Threading (or similar tech), will /proc/cpuinfo give CPU info per core or per thread (or call it sibling)?

I only know that Windows Task Manager will give CPU usage statistics per thread if the CPU supports HT.

Best Answer

The contents of /proc/cpuinfo contains information for all processors down to the virtual level.

Here are some tips on interpreting the contents:

  • Each physical processor will present as at least one processor
  • Each core will present as at least one processor
  • Each hyperthread will present as one processor.

Thus, a dual-socket, dual-core, hyperthreaded system will show as 8 processors. A similar quad-core system will show as 16 processors.

Within the content of /proc/cpuinfo each logical processor has its own ID. If your system is SMP then it will also have a physical id. This is naturally the physical processor number. If you have a multi-core processor then each logical processor will also have a core id. Core ID's are only unique within a single processor. I.e, physical 0 will have core 0 and core 1, and physical 1 will also have core 0 and core 1.

Related Question