2015-12-02 41 views
5

Niedawno skonfigurowałem instancję (m4.4xlarge).AWS EC2: Liczba rdzeni procesora dostępnych w instancji

kiedy wykonać polecenie „lscpu”, wyjście wygląda mniej więcej tak:

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 
     . 
     . 
     . 

Czy to oznacza, że ​​tylko 8 rdzeni można wykorzystać?

Jeśli tak, do czego służą pozostałe procesory?

Odpowiedz

9

m4.4xlarge instancje mają 16 logiczne procesorów, więc wygląda na to instancji EC2 zgłasza go jako posiadające jedno gniazdo, z 1 fizycznego procesora, który ma 8 rdzeni. Każdy rdzeń może wykonywać jednocześnie dwa wątki (technologia Intel Hyperthreading), więc każdy rdzeń jest przedstawiany jako 2 logiczne procesory.

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 
+0

więc mogę bezpiecznie założyć, że moja instancja ma 16 procesorów logicznych z jednym rdzeniem dla każdego i może obsługiwać 16 procesów jednocześnie? –

+3

@ds Można założyć, że ma 16 procesorów logicznych i że można uruchamiać 16 wątków pół-jednocześnie (HyperThreading nie jest pełną izolacją wątków i istnieją zasoby wspólne), ale nie można założyć żadnych założeń dotyczących sprzętu, ponieważ zależy to od tego, w jaki sposób Amazon konfiguruje hiperwizory do alokowania zasobów vCPU do gości. Własna dokumentacja Amazon stwierdza, że ​​"każdy procesor wirtualny jest hyperthread z rdzeniem Intel Xeon dla M4, M3, C4, C3, R3, HS1, G2, I2 i D2.", Który jest dość ręcznie falisty. – birryree

+0

Dzięki za szczegółowe wyjaśnienie. Naprawdę pomocny! –