“notificação de limite de energia” clobber em servidores Dell 12G com RHEL6

8

Servidor: Poweredge r620
SO: RHEL 6.4
Kernel: 2.6.32-358.18.1.el6.x86_64

Estou experimentando alarmes de aplicativos no meu ambiente de produção. Processos críticos de CPU com fome estão sendo carentes de recursos e causando um backlog de processamento. O problema está ocorrendo em todos os 12 servidores Dell Generation (r620s) em um cluster implantado recentemente. Tanto quanto eu posso dizer, os exemplos disso estão combinando com o pico de utilização da CPU, acompanhados por enormes quantidades de spam "power limit notification" em dmesg . Um trecho de um desses eventos:

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)

Um pequeno Google Fu revela que isso é tipicamente associado com o uso de CPU, ou regulação de voltagem. Eu não acho que isso esteja acontecendo. Os sensores de temperatura para todos os servidores no cluster estão funcionando bem, a Política de limite de energia está desativada no iDRAC e o perfil do meu sistema está definido como "Desempenho" em todos esses servidores:

# 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

Tudo o que posso encontrar on-line está me colocando em círculos aqui. O que está acontecendo?

    
por Andrew B 08.11.2013 / 02:50

1 resposta

7

Não é a regulação de tensão que causa o problema de desempenho, mas as interrupções do kernel de depuração que estão sendo acionadas por ele.

Apesar de algumas informações erradas por parte de Redhat, todas as páginas relacionadas estão se referindo ao mesmo fenômeno. O regulamento de voltagem acontece com ou sem o perfil de desempenho, provavelmente devido ao recurso Turbo Boost estar ativado. Independentemente do motivo, essas flutuações de tensão estão interagindo mal com as interrupções do kernel de limite de energia que são ativadas por padrão no kernel 2.6.32-358.18.1.el6.x86_64.

Soluções alternativas confirmadas:

  • A atualização para o kernel Redhat lançado mais recentemente (2.6.32-358.23.2.el6) desabilita essa depuração e elimina o problema de desempenho.
  • Adicionar os seguintes parâmetros do kernel a grub.conf desativará os PLNs: clearcpuid=229

Soluções alternativas escamosas:

  • Definindo um perfil de sistema de "Desempenho". Isso por si só não foi suficiente para desabilitar os PLNs em nossos servidores. Sua milhagem pode variar.

Ruim Soluções alternativas:

  • Módulos relacionados à lista negra de ACPI. Eu já vi isso em alguns tópicos do fórum. Mal aconselhado, então não .
por 08.11.2013 / 02:50