SMP vs multi-core vs hyper-threading

How do I know if I have multiple cpu’s, multi-cores, ore just hyper-threading?

look at /proc/cpuinfo and you will see:

cat /proc/cpuinfo | egrep “physical id|core id|cpu cores”
physical id : 0
core id : 0
cpu cores : 1
physical id : 0
core id : 0
cpu cores : 1

  1. two CPUs in cpuinfo with the same physical id and core id ==> hyperthreading!
  2. when you have all CPUs with different physical ids, than you have SMP
  3. when you have CPUs with one physical id and different core ids – you have one multicore CPU.

and so on