LINUX.ORG.RU

linux использует только часть процессоров

 , , ,


1

5

Имеется восьмипроцессорный сервер. Каждый процессор по 10 ядер, итого 80 физических ядер. ОС Oracle Linux Server release 6.7, ядро 3.8.13-98.2.1.el6uek.x86_64

Проблема в том, что ОС использует только два процессора из 8, что видно из вывода htop: http://prntscr.com/im9tow

При этом lscpu говорит что все ядра задействованы:

Architecture:          x86_64
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Little Endian
CPU(s):                160
On-line CPU(s) list:   0-159
Thread(s) per core:    2
Core(s) per socket:    10
Socket(s):             8
NUMA node(s):          1
Vendor ID:             GenuineIntel
CPU family:            6
Model:                 47
Stepping:              2
CPU MHz:               2393.990
BogoMIPS:              4787.90
Virtualization:        VT-x
L1d cache:             32K
L1i cache:             32K
L2 cache:              256K
L3 cache:              30720K
NUMA node0 CPU(s):     0-159

Пробовал запустить

strees -c 80
количество задействованных ядер не изменилось, только выросла la. Не знаю куда копать. Признателен за любую помощь. Спасибо.

Архитектура памяти какая NUMA или UMA?

steemandlinux ★★★★★ ()

Gentoo установить.

anonymous ()

Так может приложение, создающее нагрузку на CPU, всего 40 потоков создало? 40 потоками 160 cpu не утилизируешь.

А может это Oracle Database Standard Edition? Он вроде максимум до 2 сокетов на хост по EULA. Может специально affinity mask выставлять, чтоб ядро его только на ядра двух сокетов шедулило.

Хотя ты говоришь stress тоже не все сокеты использует. В любом случае посмотреть affinity mask процессов командой taskset -c -p PID полезно. Вдруг Oracle Linux какую ерунду делает.

iliyap ★★★★★ ()
Последнее исправление: iliyap (всего исправлений: 1)
Ответ на: комментарий от iliyap

Дело в том, что под боевой нагрузкой сервер ложится, la доходит до значений 200+ и машина «уходит в себя». Крутится там БД Oracle НЕ стандарт, потоков однозначно больше 40 хочет/может создать.

посмотреть affinity mask процессов командой taskset -c -p PID полезно

Спасибо за наводку, но, увы

 current affinity list: 0-159 

ivleon ()
Ответ на: комментарий от ivleon

а память у каждого процессора установлена?

slapin ★★★★★ ()
Ответ на: комментарий от ivleon

в dmesg какой-то power management:

ENERGY_PERF_BIAS: Set to 'normal', was 'performance'
ENERGY_PERF_BIAS: View and update with x86_energy_perf_policy(8)

Не знаю что оно такое, просто в глаза бросилось.

И еще

Performance Events: PEBS fmt1+, 16-deep LBR, Westmere events, Broken BIOS detected, complain to your hardware vendor.
[Firmware Bug]: the BIOS has corrupted hw-PMU resources (MSR 38d is 330)

KennyMinigun ★★★★★ ()
Ответ на: комментарий от rupert

Пока не найдёшь задачу, грузящую полностью все 160ядер, домашний ризен или кофе будут жестоко это унижать.

anonymous ()
Ответ на: комментарий от ivleon

А если numa=on? Хотя стой бро. numa=off это воркэраунд, но ни как не переключение на UMA. Зайди в BIOS сервера и найти опцию Node Interleaving и переключи её (enable - numa, disable - uma). Бывает еще опция NUMA group Optimization, там параметры clustered и flat.

И обновления прошивок HP должны стоять обязательно!

steemandlinux ★★★★★ ()
Последнее исправление: steemandlinux (всего исправлений: 2)

ядро 3.8.13-98.2.1.el6uek.x86_64

Есть возможность для проверки поставить redhat ядро или лучше другой дистрибутив?

Те, кто в oracle занимаются линуксом - рукожопы. Я бы поставил на то, что они и тут накосячили

router ★★★★★ ()
Последнее исправление: router (всего исправлений: 1)
Ответ на: комментарий от anonymous

У меня el7 нормально дрючит четыре Xeon E5450.

Так то el, а у него uek. Собирать ядро в oracle не умеют, но очень любят. На прошлой работа сталкивался с тем, что в oracle linux на uek ядре не работает ( вообще ) fuse, а при поднятии любого туннеля ( vpn, gre что угодно ) получается kernel panic

router ★★★★★ ()
Ответ на: комментарий от ivleon

Вообще судя потому что у тебя осталось 2, а не 1 живых процессора. То скорее всего сейчас настроено как:

Node Interleaving enable

NUMA group Optimization clustered

Т.е. HP делает вид что у тебя система из 4 процессоров, а не 8. А опция numa=off отключила 3 из 4.

Короче настройки биоса кривые + хак numa=off стоит.

steemandlinux ★★★★★ ()
Ответ на: комментарий от steemandlinux

Удалось, наконец, поработать с этой машиной.

До перезагрузки было обновлено ядро ОС. В биосе выставил вручную количество задействованных ядер на CPU (опция Enhanced Processor Core Disable (Intel Core Select)).

После загрузки в ОС все ядра стали функционировать, stress -c 160, соответственно, нагрузил их все. Доподлинно сказать, что именно помогло не могу.

З.Ы. опция Node Interleaving на HP G7 оказалась недоступна.

Всем спасибо за помощь.

ivleon ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.