Сервер: 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, на которых не работает профиль производительности, и рекомендуется обновить ядро, выпущенное две недели назад. ... За исключением того, что мы запускаем профиль производительности ...
Все, что я могу найти в Интернете, приводит меня в круг. Что, черт возьми, происходит?
источник
Ответы:
Проблемой производительности является не регулирование напряжения, а прерывания отладочного ядра, которые запускаются им.
Несмотря на некоторую дезинформацию со стороны Redhat, все связанные страницы ссылаются на одно и то же явление. Регулирование напряжения происходит с профилем производительности или без него, вероятно, из-за включенной функции Turbo Boost . Вне зависимости от причины, эти колебания напряжения плохо взаимодействуют с прерываниями ядра с ограничением мощности, которые включены по умолчанию в ядре 2.6.32-358.18.1.el6.x86_64.
Подтвержденные обходные пути:
grub.conf
отключит PLN:clearcpuid=229
Flaky обходные пути:
Плохие обходные пути:
источник
2.6.32-431.11.2.el6.x86_64
не сталкиваемся с проблемой. Множество кластеров, высокие нагрузки и т. Д. Вполне возможно, что регрессия могла начаться, когда Redhat выпустил это обновление пять дней назад. Я дам вам знать, что я найду, и обновлю ответ, если обнаружу, что это так.