Recentemente ho scoperto che il nostro server non utilizza più tutti gli 80 thread nel sistema. Sembra che 16 core siano sempre inattivi, nonostante l'elevato carico del sistema.
È un server Dell powerEdge R900, con 4 socket, 4 volte un Xeon a 10 core. Quindi 40 core, con HT i suoi 80 thread. (CPU Intel (R) Xeon (R) E7-4850 a 2,00 GHz). La memoria di sistema è di 512 GB con Ubuntu 14.04.1 LTS. Non ho ancora riavviato il server, speravo di evitarlo.
uname -a Linux assembly 3.13.0-35-generic # 62-Ubuntu SMP ven 15 ago 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux
Controllo quanto segue:
Temperatura misurata con i7z: (non può visualizzare 4 prese
Velocità della cpu da cpuinfo 1994.00Mhz Frequenza reale (senza turbo contabile) 1994 MHz Socket [0] - [core fisici = 10, core logici = 20, numero massimo di core online mai = 10] Moltiplicatore di CPU 15x || Frequenza di clock del bus (BCLK) 132,93 MHz TURBO ABILITATO su 10 core, Hyper Threading ON Frequenza massima senza considerare Turbo 2126,93 MHz (132,93 x [16]) Il moltiplicatore TURBO massimo (se abilitato) con 1/2/3/4/5/6 core è 0x / 0x / 0x / 0x / 0x / 0x Frequenza corrente reale 1994.02 MHz (massimo di sotto) Core [core-id]: Freq effettivo (Mult.) C0% Halt (C1)% C3% C6% Temp Core 1 [1]: 1994.01 (15.00x) 100 0 0 0 75 Core 2 [5]: 1994.00 (15.00x) 100 0 0 0 77 Core 3 [9]: 1994.02 (15.00x) 100 0 0 0 76 Core 4 [13]: 1994.00 (15.00x) 100 0 0 0 77 Core 5 [17]: 1994.00 (15.00x) 100 0 0 0 77 Core 6 [21]: 1994.00 (15.00x) 97.7 0.404 0 1.86 77 Core 7 [25]: 1994,00 (15,00x) 94,5 0 1 5,27 77 Core 8 [29]: 1994.00 (15.00x) 100 0 0 0 76 Core 9 [33]: 1994,00 (15,00x) 99,8 0 1 1 75 Core 10 [37]: 1994.00 (15.00x) 100 0 0 0 73 Frequenza massima senza considerare Turbo 2126,93 MHz (132,93 x [16]) Il moltiplicatore TURBO massimo (se abilitato) con 1/2/3/4/5/6 core è 0x / 0x / 0x / 0x / 0x / 0x Frequenza corrente reale 1994.02 MHz (massimo di sotto) Core [core-id]: Freq effettivo (Mult.) C0% Halt (C1)% C3% C6% Temp Core 1 [1]: 1994.02 (15.00x) 100 0 0 0 74 Core 2 [5]: 1994.00 (15.00x) 100 0 0 0 76 Core 3 [9]: 1994.02 (15.00x) 100 0 0 0 76 Core 4 [13]: 1994.00 (15.00x) 100 0 0 0 77 Core 5 [17]: 1994.00 (15.00x) 100 0 0 0 76 Core 6 [21]: 1994.00 (15.00x) 97 0 1 2.43 77 Core 7 [25]: 1994.00 (15.00x) 92.9 0 1 6.81 77 C0 = Processore in esecuzione senza arresto 100x) 100 0 0 0 75 C1 = Processore in esecuzione con arresti (Stati> C0 sono risparmio energetico) 1 1 75 C3 = Core in esecuzione con PLL disattivato e cache core disattivata 0 0 73 C6 = Tutto in C3 + stato principale salvato nella cache di ultimo livello I valori sopra riportati nella tabella sono in percentuale negli ultimi 1 secondo [core-id] si riferisce al numero id-core in / proc / cpuinfo Messaggio "Garbage Values" stampato quando vengono letti i valori di Garbage Ctrl + C per uscire
Inattivo: gli ultimi 16 core sono tutti inattivi al 100%:
mpstat -p ALL 1: Media: CPU% usr% nice% sys% iowait% irq% soft% steal% guest% gnice% idle Media: tutti 70,69 0,00 0,70 0,00 0,00 0,00 0,00 0,00 0,00 0,00 28,61 Media: 0 92,93 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 7,07 Media: 1 94,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 6,00 Media: 2 100,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Media: 3 83,33 0,00 2,08 0,00 0,00 0,00 0,00 0,00 0,00 0,00 14,58 Media: 4 100,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Media: 5 100,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 .................................................. ........ Media: 64 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 65 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 66 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 67 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 68 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 69 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 70 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 71 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 72 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 73 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 74 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 75 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 76 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 77 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 78 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 79 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Principali numeri di carico:
in alto - 17:41:48 per 35 giorni, 6:28, 15 utenti, caricamento media: 77.69, 70.48, 62.73 Compiti: 1327 totali, 44 in esecuzione, 1281 dormienti, 2 fermati, 0 zombi % Cpu: 63,7 us, 13,6 sy, 0,0 ni, 22,3 id, 0,2 wa, 0,0 hi, 0,2 si, 0,0 st KiB Mem: 52837942 + totale, 52553190 + usato, 2847524 libero, 535660 buffer KiB Swap: 78124032 totali, 2105608 usati, 76018416 gratuiti. 40637328 + Mem. Memorizzato nella cache
A volte il% inattivo non è più 100, ma un po 'meno, come puoi vedere qui, ma principalmente rimane al 100% inattivo.
Media: CPU% usr% nice% sys% iowait% irq% soft% steal% guest% gnice% idle Media: tutti 70,69 0,00 0,70 0,00 0,00 0,00 0,00 0,00 0,00 0,00 28,61 Media: 64 0,13 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 99,87 Media: 65 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 66 0,00 0,00 2,63 0,00 0,00 0,00 0,00 0,00 0,00 0,00 97,37 Media: 67 0,00 0,00 0,13 0,13 0,00 0,00 0,00 0,00 0,00 0,00 99,75 Media: 68 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 69 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 70 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 71 0,00 0,00 0,12 0,00 0,00 0,00 0,00 0,00 0,00 0,00 99,88 Media: 72 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 73 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 74 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 75 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 76 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 77 0,00 0,00 0,13 0,00 0,00 0,00 0,00 0,00 0,00 0,00 99,87 Media: 78 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Media: 79 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Ho anche eseguito questo comando per assicurarmi che siano tutti online:
per COUNT in `seq 01 79`; fare eco 1> / sys / devices / system / cpu / cpu $ {COUNT} / online;
Con il programma HTop posso visualizzare una barra di utilizzo della cpu per thread, e vedere 64 barre riempite e 16 vuote (le ultime 16).
Quando provo ad avviare un processo su un core> 63 non riesce a farlo:
root @ server: ~ # Taskset -c 63 volte Utilizzo: time [-apvV] [-f format] [-o file] [--append] [--verbose] [--portability] [--format = format] [--output = file] [--version] [--quiet] [--help] comando [arg ...] root @ server: ~ # tasket -c 64 volte tasket: impossibile impostare l'affinità di pid 0: argomento non valido root @ server: ~ # tasket -c 65 volte tasket: impossibile impostare l'affinità di pid 0: argomento non valido
Thread correlato: /ubuntu/536541/ubuntu-uses-only-2-out-of-4-processor-cores
EDIT: Si scopre che i core sono spenti al volo, ma non si avviano correttamente. Sembra che ci siano processi in esecuzione su questi core non disponibili, ma è impossibile avviare un nuovo processo su di essi. Secondo il dmesg log, i core sono disabilitati e abilitati rapidamente uno dopo l'altro. Devo dire che era intenzione di spegnere questi core, quindi abbiamo disabilitato questa "caratteristica". Registro di esempio DMESG:
[Lun 12 gennaio 12:42:40 2015] kvm: disabilitazione della virtualizzazione su CPU79 [Lun 12 gennaio 12:42:40 2015] smpboot: CPU 79 non è in linea .... [Lun 12 gennaio 12:43:12 2015] smpboot: Avvio Nodo 0 Processore 79 APIC 0xf3 [Lun 12 gennaio 12:43:12 2015] kvm: abilitazione della virtualizzazione su CPU79
Abilitiamo / disabilitiamo i core tramite:
per COUNT in `seq 64 79`; fare eco 1> / sys / devices / system / cpu / cpu $ {COUNT} / online; fatto
Non abbiamo mai collegato questi comandi con i nostri 16 core non disponibili, poiché normalmente i comandi sopra funzionano correttamente. (abbiamo anche provato a disabilitare powermanager, ma questo non ha aiutato)