“Сповіщення про обмеження потужності” клобірування на 12G-серверах Dell з RHEL6


9

Сервер: Poweredge r620
ОС: RHEL 6.4
Ядро: 2.6.32-358.18.1.el6.x86_64

У моєму виробничому середовищі виникають тривожні програми. Критичні процесори, голодні в процесорі, голодують від ресурсів і викликають відставання в обробці. Проблема виникає на всіх серверах Dell 12-го покоління (r620) в недавно розгорнутому кластері. Наскільки я можу сказати, випадки цього трапляються у відповідності до пікового використання процесора, що супроводжується великою кількістю спаму dmesg. Уривок однієї з таких подій:

Nov  7 10:15:15 someserver [.crit] CPU12: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU0: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU6: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU14: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU18: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU2: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU4: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU16: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU0: Package power limit notification (total events = 11)
Nov  7 10:15:15 someserver [.crit] CPU6: Package power limit notification (total events = 13)
Nov  7 10:15:15 someserver [.crit] CPU14: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU18: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU20: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU8: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU2: Package power limit notification (total events = 12)
Nov  7 10:15:15 someserver [.crit] CPU10: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU22: Core power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU4: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU16: Package power limit notification (total events = 13)
Nov  7 10:15:15 someserver [.crit] CPU20: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU8: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU10: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU22: Package power limit notification (total events = 14)
Nov  7 10:15:15 someserver [.crit] CPU15: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU3: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU1: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU5: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU17: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU13: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU15: Package power limit notification (total events = 375)
Nov  7 10:15:15 someserver [.crit] CPU3: Package power limit notification (total events = 374)
Nov  7 10:15:15 someserver [.crit] CPU1: Package power limit notification (total events = 376)
Nov  7 10:15:15 someserver [.crit] CPU5: Package power limit notification (total events = 376)
Nov  7 10:15:15 someserver [.crit] CPU7: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU19: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU17: Package power limit notification (total events = 377)
Nov  7 10:15:15 someserver [.crit] CPU9: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU21: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU23: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU11: Core power limit notification (total events = 369)
Nov  7 10:15:15 someserver [.crit] CPU13: Package power limit notification (total events = 376)
Nov  7 10:15:15 someserver [.crit] CPU7: Package power limit notification (total events = 375)
Nov  7 10:15:15 someserver [.crit] CPU19: Package power limit notification (total events = 375)
Nov  7 10:15:15 someserver [.crit] CPU9: Package power limit notification (total events = 374)
Nov  7 10:15:15 someserver [.crit] CPU21: Package power limit notification (total events = 375)
Nov  7 10:15:15 someserver [.crit] CPU23: Package power limit notification (total events = 374)

Трохи Google Fu виявляє, що це, як правило, пов’язано із запуском центрального процесора або регулюванням напруги, яке виникає. Я не думаю, що саме це відбувається. Датчики температури для всіх серверів кластеру працюють нормально, політика відключення живлення відключена в iDRAC, а для мого системного профілю встановлено значення "Продуктивність" на всіх цих серверах:

# omreport chassis biossetup | grep -A10 'System Profile'
System Profile Settings
------------------------------------------
System Profile                                    : Performance
CPU Power Management                              : Maximum Performance
Memory Frequency                                  : Maximum Performance
Turbo Boost                                       : Enabled
C1E                                               : Disabled
C States                                          : Disabled
Monitor/Mwait                                     : Enabled
Memory Patrol Scrub                               : Standard
Memory Refresh Rate                               : 1x
Memory Operating Voltage                          : Auto
Collaborative CPU Performance Control             : Disabled
  • Повідомлення Dell у списку розсилки описує симптоми майже ідеально. Dell запропонував автору спробувати використати профіль Performance, але це не допомогло. В кінцевому підсумку він застосував деякі параметри в посібнику Dell для налаштування сервера для середовищ із низькою затримкою .
  • Помилка Kernel.org № 36182 зазначає, що налагодження переривання обмеження потужності було включено за замовчуванням, що спричиняє погіршення продуктивності в сценаріях, коли відбувається регулювання напруги процесора.
  • Стаття RHN KB (необхідний логін RHN) згадує про проблему, що впливає на сервери PE r620 та r720, які не мають профілю продуктивності, і рекомендує оновити ядро, випущене два тижні тому. ... За винятком того, що у нас працює профіль продуктивності ...

Все, що я можу знайти в Інтернеті, працює тут по колах. Що, до біса?


1
FYI, ця проблема була виправлена в основному ядрі 3.11. Це пов’язано з запуском обробника переривання ядра для цієї "нормальної" некритичної події. Зв'язане вище зобов’язання відключає цей обробник.
Тотор

Відповіді:


8

Це не регулювання напруги викликає проблеми продуктивності, але ядро ​​налагодження перериває, що запускається ним.

Незважаючи на деяку дезінформацію з боку Redhat, всі пов'язані сторінки посилаються на одне і те ж явище. Регулювання напруги відбувається з або без профілю продуктивності, ймовірно, через включену функцію Turbo Boost . Незалежно від причини, ці коливання напруги погано взаємодіють з переривами ядра обмеження потужності, які за замовчуванням включені в ядрі 2.6.32-358.18.1.el6.x86_64.

Підтверджені обхідні шляхи:

  • Оновлення до останнього випуску ядра Redhat (2.6.32-358.23.2.el6) вимикає цю налагодження і усуває проблему з продуктивністю.
  • Додавання наступних параметрів ядра grub.confвідключить PLN:clearcpuid=229

Тонкі обхідні шляхи:

  • Встановлення системного профілю "Продуктивність". Це само по собі було недостатньо для відключення PLN на наших серверах. Ваш пробіг може відрізнятися.

Погані обходи:

  • Чорні списки ACPI-модулів. Я бачив це в кількох потоках форуму. Непродуманий, тому не варто .

Ви не працювали з оновленнями для нових розгорнутих систем?
ewwhite

@ewwhite Ці сервери були розгорнуті безпосередньо перед оновленням цих ядер. Нова RPM була доступна 16 жовтня .
Андрій Б

Grrr до Red Hat. Приємна знахідка.
ewwhite

Навіть після оновлення ця проблема викрилася для мене через кілька тижнів (на ядрі 2.6.32-431.17.1.el6.x86_64). Нам довелося відключити PLN за допомогою clearcpuid, щоб цього разу позбутися. Ця проблема вже викликала у мене стільки головних болів! І у нас є лише один сервер Dell 12G (і він залишиться єдиним через це).
Martijn

1
@Martijn Наразі ми не працюємо 2.6.32-431.11.2.el6.x86_64над проблемою. Багато кластерів, великі навантаження і т. Д. Можливо, що колись Redhat випустив це оновлення п'ять днів тому, можливо, регрес вийшов. Я дам вам знати, що я знаходжу, і оновлю відповідь, якщо я виявлю, що це так.
Андрій Б
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.