Недавно я обнаружил, что наш сервер больше не использует все 80 потоков в системе. Похоже, неактивны ли 16 ядер всегда, несмотря на высокую системную нагрузку.
Это - сервер Dell PowerEdge R900, с 4 сокетами, 4 раза Xeon с 10 ядрами. Так 40 ядер, с HT его 80 потоков. (Intel(R) Xeon(R) CPU E7 - 4850 2.00 ГГц). Системная память составляет 512 ГБ Под управлением Ubuntu 14.04.1 LTS. Я еще не перезагрузил сервер, я надеялся избежать этого.
uname -a Linux assembly 3.13.0-35-generic #62-Ubuntu SMP Fri Aug 15 01:58:42 UTC 2014 x86_64 x86_64 x86_64 GNU/Linux
I'v проверяют следующее:
Температура измеряется с i7z: (это не может отобразить 4 сокета
Cpu speed from cpuinfo 1994.00Mhz True Frequency (without accounting Turbo) 1994 MHz Socket [0] - [physical cores=10, logical cores=20, max online cores ever=10] CPU Multiplier 15x || Bus clock frequency (BCLK) 132.93 MHz TURBO ENABLED on 10 Cores, Hyper Threading ON Max Frequency without considering Turbo 2126.93 MHz (132.93 x [16]) Max TURBO Multiplier (if Enabled) with 1/2/3/4/5/6 cores is 0x/0x/0x/0x/0x/0x Real Current Frequency 1994.02 MHz (Max of below) Core [core-id] :Actual Freq (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 Max Frequency without considering Turbo 2126.93 MHz (132.93 x [16]) Max TURBO Multiplier (if Enabled) with 1/2/3/4/5/6 cores is 0x/0x/0x/0x/0x/0x Real Current Frequency 1994.02 MHz (Max of below) Core [core-id] :Actual Freq (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 = Processor running without halting00x) 100 0 0 0 75 C1 = Processor running with halts (States >C0 are power saver) 1 1 75 C3 = Cores running with PLL turned off and core cache turned off 0 0 73 C6 = Everything in C3 + core state saved to last level cache Above values in table are in percentage over the last 1 sec [core-id] refers to core-id number in /proc/cpuinfo 'Garbage Values' message printed when garbage values are read Ctrl+C to exit
Неактивный: Последние 16 ядер на все 100% неактивны:
mpstat -p ALL 1: Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle Average: all 70.69 0.00 0.70 0.00 0.00 0.00 0.00 0.00 0.00 28.61 Average: 0 92.93 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 7.07 Average: 1 94.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 6.00 Average: 2 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: 3 83.33 0.00 2.08 0.00 0.00 0.00 0.00 0.00 0.00 14.58 Average: 4 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 Average: 5 100.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 .......................................................... Average: 64 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 65 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 66 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 67 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 68 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 69 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 70 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 71 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 72 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 73 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 74 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 75 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 76 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 77 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 78 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 79 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Главные числа загрузки:
top - 17:41:48 up 35 days, 6:28, 15 users, load average: 77.69, 70.48, 62.73 Tasks: 1327 total, 44 running, 1281 sleeping, 2 stopped, 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+total, 52553190+used, 2847524 free, 535660 buffers KiB Swap: 78124032 total, 2105608 used, 76018416 free. 40637328+cached Mem
Иногда неактивный % не 100 больше, но немного меньше, как Вы видите здесь, но главным образом это остается в неактивных 100%.
Average: CPU %usr %nice %sys %iowait %irq %soft %steal %guest %gnice %idle Average: all 70.69 0.00 0.70 0.00 0.00 0.00 0.00 0.00 0.00 28.61 Average: 64 0.13 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 99.87 Average: 65 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 66 0.00 0.00 2.63 0.00 0.00 0.00 0.00 0.00 0.00 97.37 Average: 67 0.00 0.00 0.13 0.13 0.00 0.00 0.00 0.00 0.00 99.75 Average: 68 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 69 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 70 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 71 0.00 0.00 0.12 0.00 0.00 0.00 0.00 0.00 0.00 99.88 Average: 72 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 73 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 74 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 75 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 76 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 77 0.00 0.00 0.13 0.00 0.00 0.00 0.00 0.00 0.00 99.87 Average: 78 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00 Average: 79 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 100.00
Я также выполнил эту команду, чтобы удостовериться, что они все онлайн:
for COUNT in `seq 01 79`;do echo 1 > /sys/devices/system/cpu/cpu${COUNT}/online;
С программой HTop я могу визуализировать панель использования CPU на поток и, см. 64 заполненные панели и 16 пустых (последние 16).
Когда я пытаюсь запуститься, процесс в ядре> 63 является также сбоями, делающими так:
root@server:~# taskset -c 63 time Usage: time [-apvV] [-f format] [-o file] [--append] [--verbose] [--portability] [--format=format] [--output=file] [--version] [--quiet] [--help] command [arg...] root@server:~# taskset -c 64 time taskset: failed to set pid 0's affinity: Invalid argument root@server:~# taskset -c 65 time taskset: failed to set pid 0's affinity: Invalid argument
Связанный поток: https://askubuntu.com/questions/536541/ubuntu-uses-only-2-out-of-4-processor-cores
Править: Оказывается, что это ядра являются завершением работы на лету, но не запускаются правильно. Кажется, что существуют процессы, работающие на этих недоступных ядрах, но его невозможном для запуска любого нового процесса на них. Согласно журналу dmesg, ядра отключены и включены быстро друг после друга. Я должен сказать, что это было намерение завершить работу этих ядер, таким образом, мы отключили эту 'опцию'. Журнал DMESG в качестве примера:
[Mon Jan 12 12:42:40 2015] kvm: disabling virtualization on CPU79 [Mon Jan 12 12:42:40 2015] smpboot: CPU 79 is now offline .... [Mon Jan 12 12:43:12 2015] smpboot: Booting Node 0 Processor 79 APIC 0xf3 [Mon Jan 12 12:43:12 2015] kvm: enabling virtualization on CPU79
Мы позволяющий/запрещающий ядра через:
for COUNT in `seq 64 79`;do echo 1 > /sys/devices/system/cpu/cpu${COUNT}/online;done
Мы никогда не связывались, это управляет с нашими 16 недоступными ядрами, с тех пор обычно команды выше работы правильно. (мы также пытались отключить powermanager, но это не помогло),
Не все программы могут использовать несколько потоков. php является тем, например. Если для одного процесса php будет нужно много ЦП, то только 1 ЦП истратит. И другие будут неактивны.