I have recently set up an instance (m4.4xlarge).
when I execute 'lscpu
' command, the output looks something like the following:
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 16
On-line CPU(s) list: 0-15
Thread(s) per core: 2
Core(s) per socket: 8
CPU socket(s): 1
.
.
.
Does this mean that only 8 cores can be utilized?
If so, what are the rest of CPUs for?
m4.4xlarge
instances have 16 logical CPUs, so it looks like your EC2 instance is reporting it as having a single socket, with 1 physical CPU that has 8 cores. Each core can execute two threads simultaneously (Intel Hyperthreading technology) so each core is presented as 2 logical CPUs.
CPU(s): 16 <- logical CPUs (Threads per core * Cores per socket)
On-line CPU(s) list: 0-15
Thread(s) per core: 2 <- Each core has hyperthreading and presents
itself as two logical CPUs
Core(s) per socket: 8 <- Instance sees it has 8-core physical CPU per socket
CPU socket(s): 1 <- Instance sees it has 1 physical CPU