Kipmi0 comendo até 99.8% cpu em centos 6.4

15

Temos o CentOS 6.4 e o kipmi0 está mostrando 99,8% de CPU e 0,0% de memória e a média de carga é de 1,00. O que devemos fazer para corrigir isso?

    
por biz14 06.05.2013 / 21:24

6 respostas

5

Depurando o problema

Os outros sistemas são idênticos a este sistema? Você vai ter que determinar que eles são. Tem que haver algo que é fundamentalmente diferente entre eles. Firmware As mesmas versões do RPM?

Você pode usar ferramentas como lshw , dmidecode e consultar o log de dmesg em busca de pistas sobre o que é diferente e qual é a causa raiz.

Eu obteria uma boa linha de base dos RPMs instalados, executando este comando em um dos sistemas que não está exibindo esse problema e o que é, e compare as listas de pacotes para garantir que estejam todas nas mesmas versões.

 # machine #1
 $ rpm -aq | sort -rn > machine1_rpms.txt

 # machine #2
 $ rpm -aq | sort -rn > machine2_rpms.txt     

Depois pegue os arquivos na mesma máquina e faça um sdiff dos 2 arquivos:

 sdiff machine1_rpms.txt machine2_rpms.txt

Causa potencial # 1

O site da IBM tinha essa nota técnica: O Kipmi0 pode mostrar o aumento da utilização da CPU no Linux , sobre esta questão. De acordo com essa questão, você pode essencialmente ignorar o problema.

descrição do problema

The kipmi0 process may show increased CPU utilization in Linux. The utilization may increase up to 100% when the IPMI (Intelligent Platform Management Interface) device, such as a BMC (Baseboard Management Controller) or IMM (Integrated Management Controller) is busy or non-responsive.

Corrigir

No fix required. You should ignore increased CPU utilization as it has no impact on actual system performance.

Solução alternativa

  1. Se estiver usando um dispositivo IPMI, redefina o BMC ou reinicialize o sistema.
  2. Se não estiver usando um dispositivo IPMI, pare o serviço IPMI emitindo o seguinte comando:

    serviço ipmi stop

Solução potencial # 2

Encontrei este post no blog de alguém simplesmente intitulado: problema do kipmi0 . Esse problema parecia idêntico ao seu. O problema foi atribuído a um problema com dois módulos do kernel que estavam sendo carregados como parte do pacote lm_sensors .

Estes foram os 2 módulos do kernel:

  • ipmi_si
  • ipmi_msghandler

Solução alternativa

Você pode removê-los manualmente com os seguintes comandos:

rmmod ipmi_msghandler
rmmod ipmi_si

Para tornar esta correção permanente, você precisará desativar o carregamento desses módulos de kernel específicos em um dos arquivos de configuração lm_sensors , comentando-os assim:

# /etc/sysconfig/lm_sensors
# MODULE_0=ipmi-si
# MODULE_1=ipmisensors
# MODULE_2=coretemp

Reinicie o lm_sensors depois de fazer essas alterações:

/etc/init.d/lm_sensors
    
por 07.05.2013 / 03:26
24

De acordo com o Documento IPMI :

this thread can use a lot of CPU depending on the interface's performance. This can waste a lot of CPU and cause various issues with detecting idle CPU and using extra power. To avoid this, the kipmid_max_busy_us sets the maximum amount of time, in microseconds, that kipmid will spin before sleeping for a tick. This value sets a balance between performance and CPU waste and needs to be tuned to your needs. Maybe, someday, auto-tuning will be added, but that's not a simple thing and even the auto-tuning would need to be tuned to the user's desired performance.

Então, podemos executar este comando para definir o parâmetro kipmid_max_busy_us:

echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us

Em nosso sistema, depois de definir esse parâmetro, a cpu de kipmi0 diminuiu para 15%.

Você pode tentar isso.

Para tornar as alterações persistentes, você pode configurar as opções para o módulo do kernel ipmi_si.
Crie um arquivo em /etc/modprobe.d/ , ou seja, /etc/modprobe.d/ipmi.conf e adicione o seguinte conteúdo:
# Prevent kipmi0 from consuming 100% CPU
options ipmi_si kipmid_max_busy_us=100

Agora, toda vez que o módulo do kernel ipmi_si é carregado no kernel, o parâmetro deve ser definido automática e corretamente.

    
por 13.09.2013 / 08:31
1

O kipmi0 pode ser totalmente desativado no CentOS 6 adicionando ipmi_si.force_kipmid=0 como um parâmetro do kernel

Teste na tela de inicialização do GRUB, destacando o kernel que você deseja inicializar, pressione 'a' para modificar os parâmetros e anexando ipmi_si.force_kipmid=0

Torne permanente anexando ipmi_si.force_kipmid=0 às linhas de kernel relevantes em /boot/grub/grub.conf

NOTA: Em distros que possuem ipmi_si como um módulo de kernel separado, usar um arquivo conf modprobe.d é mais apropriado. No CentOS, o ipmi_si é embutido na imagem do kernel, então as configurações do modprobe não funcionam.

    
por 10.06.2014 / 05:44
1

O CentOS 6 possui um driver ipmi compilado no kernel. Se você não precisa de suporte ipmi então desabilite o grub.conf

ipmi_si.tryacpi=0 ipmi_si.trydmi=0 ipmi_si.trydefaults=0
    
por 18.06.2014 / 14:50
1

Encontrei os seguintes auxílios com este problema:

ipmitool bmc info

Isso parece ativar o IPMI e depois ele deixa de usar 100% de um núcleo.

Eu também achei o seguinte útil:

echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us

Também no passado, consegui em alguns servidores resolver o uso de 100% da CPU:

ipmitool lan print

e

ipmitool bmc reset cold

mas na minha experiência mais recente as opções acima apenas causariam ipmitool a não responder e ficar lá, fazendo-me + C .

Espero que isso ajude alguém.

    
por 18.09.2014 / 00:58
0

Encontrei isso rodando o CentOS 7 e tentando descobrir o que estava acontecendo.

Para mim, foi o "ipmicfg" da Supermicro rodando a partir de um script que eu escrevi ou algo assim. Eu apenas pkilled e o uso kipmi0 foi embora.

    
por 02.06.2016 / 22:17

Tags