Niedawno odkryłem, że nasz serwer nie wykorzystuje już wszystkich 80 wątków w systemie. Wygląda na to, że 16 rdzeni jest zawsze bezczynnych, pomimo dużego obciążenia systemu.
Jest to serwer Dell PowerEdge R900, z 4 gniazdami, 4 razy 10-rdzeniowy Xeon. Więc 40 rdzeni, z HT 80 wątkami. (Procesor Intel (R) Xeon (E) E7- 4850 @ 2,00 GHz). Pamięć systemowa to 512 GB z systemem Ubuntu 14.04.1 LTS. Nie zrestartowałem jeszcze serwera, miałem nadzieję tego uniknąć.
uname -a Zestaw Linux 3.13.0-35-generic # 62-Ubuntu SMP Pt 15 sierpnia 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU / Linux
Sprawdzę następujące:
Temperatura zmierzona za pomocą i7z: (nie może wyświetlić 4 gniazd
Prędkość procesora od cpuinfo 1994.00Mhz Rzeczywista częstotliwość (bez rozliczania Turbo) 1994 MHz Gniazdo [0] - [rdzenie fizyczne = 10, rdzenie logiczne = 20, maks. Rdzenie online kiedykolwiek = 10] Mnożnik procesora 15x || Częstotliwość taktowania magistrali (BCLK) 132,93 MHz TURBO WŁĄCZONE na 10 rdzeniach, WŁĄCZONE hiperwątkowość Maksymalna częstotliwość bez uwzględnienia Turbo 2126,93 MHz (132,93 x [16]) Maksymalny mnożnik TURBO (jeśli włączony) z rdzeniami 1/2/3/4/5/6 to 0x / 0x / 0x / 0x / 0x / 0x Rzeczywista częstotliwość prądu 1994.02 MHz (maks. Poniżej) Rdzeń [id rdzenia]: Rzeczywista częstotliwość (Mult.) C0% Zatrzymanie (C1)% C3% C6% Temp Rdzeń 1 [1]: 1994.01 (15,00x) 100 0 0 0 75 Rdzeń 2 [5]: 1994.00 (15,00x) 100 0 0 0 77 Rdzeń 3 [9]: 1994.02 (15,00x) 100 0 0 0 76 Rdzeń 4 [13]: 1994.00 (15,00x) 100 0 0 0 77 Rdzeń 5 [17]: 1994.00 (15,00x) 100 0 0 0 77 Rdzeń 6 [21]: 1994.00 (15,00x) 97,7 0,404 0 1,86 77 Rdzeń 7 [25]: 1994.00 (15,00x) 94,5 0 1 5,27 77 Rdzeń 8 [29]: 1994.00 (15,00x) 100 0 0 0 76 Rdzeń 9 [33]: 1994.00 (15,00x) 99,8 0 1 1 75 Rdzeń 10 [37]: 1994.00 (15,00x) 100 0 0 0 73 Maksymalna częstotliwość bez uwzględnienia Turbo 2126,93 MHz (132,93 x [16]) Maksymalny mnożnik TURBO (jeśli włączony) z rdzeniami 1/2/3/4/5/6 to 0x / 0x / 0x / 0x / 0x / 0x Rzeczywista częstotliwość prądu 1994.02 MHz (maks. Poniżej) Rdzeń [id rdzenia]: Rzeczywista częstotliwość (Mult.) C0% Zatrzymanie (C1)% C3% C6% Temp Rdzeń 1 [1]: 1994.02 (15,00x) 100 0 0 0 74 Rdzeń 2 [5]: 1994.00 (15,00x) 100 0 0 0 76 Rdzeń 3 [9]: 1994.02 (15,00x) 100 0 0 0 76 Rdzeń 4 [13]: 1994.00 (15,00x) 100 0 0 0 77 Rdzeń 5 [17]: 1994.00 (15,00x) 100 0 0 0 76 Rdzeń 6 [21]: 1994.00 (15,00x) 97 0 1 2,43 77 Rdzeń 7 [25]: 1994.00 (15,00x) 92,9 0 1 6,81 77 C0 = Procesor działa bez zatrzymania 00x) 100 0 0 0 75 C1 = Procesor pracuje z zatrzymaniem (stany> C0 to oszczędzanie energii) 1 1 75 C3 = Rdzenie działające przy wyłączonym PLL i wyłączonej pamięci podręcznej 0 0 73 C6 = Wszystko w stanie podstawowym C3 + zapisane w pamięci podręcznej ostatniego poziomu Powyższe wartości w tabeli podano w procentach w ciągu ostatnich 1 sek [identyfikator rdzenia] odnosi się do numeru rdzenia w / proc / cpuinfo Komunikat „Wartości śmieci” jest drukowany po odczytaniu wartości śmieci Ctrl + C, aby wyjść
Bezczynność: ostatnie 16 rdzeni jest w 100% bezczynnych:
mpstat -p ALL 1: Średnia: CPU% usr% nice% sys% iowait% irq% soft% steal% guest% gnice% idle Średnia: wszystkie 70,69 0,00 0,70 0,00 0,00 0,00 0,00 0,00 0,00 28,61 Średnia: 0 92,93 0,00 0,00 0,00 0,00 0,00 0,00 0,00 7,07 Średnia: 1 94,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 6,00 Średnia: 2 100,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Średnia: 3 83,33 0,00 2,08 0,00 0,00 0,00 0,00 0,00 0,00 14,58 Średnia: 4 100,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 Średnia: 5 100,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 .................................................. ........ Średnia: 64 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 65 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 66 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 67 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 68 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 69 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 70 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 71 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 72 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 73 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 74 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 75 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 76 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 77 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 78 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 79 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Najważniejsze numery ładowania:
do góry - 17:41:48 do 35 dni, 6:28, 15 użytkowników, średnia obciążalność: 77,69, 70,48, 62,73 Zadania: łącznie 1327, 44 uruchomionych, 1281 śpiących, 2 zatrzymane, 0 zombie % Cpu (s): 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 + łącznie, 52553190 + używane, 2847524 wolne, 535660 buforów Wymiana KiB: łącznie 78124032, 2105608 używane, 76018416 bezpłatnie. 40637328 + pamięć podręczna Mem
Czasami% bezczynności nie jest już równy 100, ale nieco mniej, jak widać tutaj, ale przeważnie pozostaje na 100% bezczynności.
Średnia: CPU% usr% nice% sys% iowait% irq% soft% steal% guest% gnice% idle Średnia: wszystkie 70,69 0,00 0,70 0,00 0,00 0,00 0,00 0,00 0,00 28,61 Średnia: 64 0,13 0,00 0,00 0,00 0,00 0,00 0,00 0,00 99,87 Średnia: 65 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 66 0,00 0,00 2,63 0,00 0,00 0,00 0,00 0,00 0,00 97,37 Średnia: 67 0,00 0,00 0,13 0,13 0,00 0,00 0,00 0,00 0,00 99,75 Średnia: 68 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 69 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 70 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 71 0,00 0,00 0,12 0,00 0,00 0,00 0,00 0,00 0,00 99,88 Średnia: 72 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 73 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 74 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 75 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 76 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 77 0,00 0,00 0,13 0,00 0,00 0,00 0,00 0,00 0,00 99,87 Średnia: 78 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00 Średnia: 79 0,00 0,00 0,00 0,00 0,00 0,00 0,00 0,00 100,00
Uruchomiłem również to polecenie, aby upewnić się, że wszystkie są w trybie online:
dla COUNT w `seq 01 79`; wykonaj echo 1> / sys / devices / system / cpu / cpu $ {COUNT} / online;
Za pomocą programu HTop mogę wizualizować pasek użycia procesora na wątek i widzę 64 słupki wypełnione i 16 pustych (ostatnie 16).
Kiedy próbuję rozpocząć proces w rdzeniu> 63 również nie udaje się:
root @ server: ~ # zestaw zadań -c 63 czas Użycie: czas [-apvV] [-f format] [-o plik] [--append] [--verbose] [--portability] [--format = format] [--output = plik] [--version] [--quiet] [--help] polecenie [arg ...] root @ server: ~ # zestaw zadań -c 64 czas zestaw zadań: nie można ustawić powinowactwa pid 0: nieprawidłowy argument root @ server: ~ # zestaw zadań -c 65 czas zestaw zadań: nie można ustawić powinowactwa pid 0: nieprawidłowy argument
Powiązany wątek: /ubuntu/536541/ubuntu-uses-only-2-out-of-4-processor-cores
EDYCJA: Okazuje się, że rdzenie są wyłączane w locie, ale nie uruchamiają się poprawnie. Wydaje się, że na tych niedostępnych rdzeniach działają procesy, ale nie można na nich rozpocząć żadnego nowego procesu. Zgodnie z dziennikiem dmesg rdzenie są wyłączane i włączane szybko po sobie. Muszę powiedzieć, że zamierzeniem było wyłączenie tych rdzeni, dlatego wyłączyliśmy tę „funkcję”. Przykładowy dziennik DMESG:
[Mon Jan 12 12:42:40 2015] kvm: wyłączanie wirtualizacji na CPU79 [Pon 12 stycznia 12:42:40 2015] smpboot: CPU 79 jest teraz offline … [Pon 12.12 12:43:12 2015] smpboot: Uruchamianie węzła 0 Procesor 79 APIC 0xf3 [Mon Jan 12 12:43:12 2015] kvm: włączanie wirtualizacji na CPU79
Włączamy / wyłączamy rdzenie poprzez:
dla COUNT w `seq 64 79`; wykonaj echo 1> / sys / devices / system / cpu / cpu $ {COUNT} / online; gotowe
Nigdy nie łączyliśmy tych poleceń z naszymi 16 niedostępnymi rdzeniami, ponieważ zwykle powyższe polecenia działają poprawnie. (próbowaliśmy również wyłączyć powermanager, ale to nie pomogło)
Odpowiedzi:
Nie wszystkie programy mogą używać wielu wątków. na przykład php. Jeśli jeden proces php potrzebuje dużo procesora, tylko 1 procesor może się maksymalnie wydłużyć. A inni będą bezczynni.
źródło