@ Eu li isso antes, então diz apenas ignorar devo ignorar, mas minhas outras máquinas não estão tendo esse problema?
22413 biz14
Os outros sistemas são idênticos a esse sistema? Você terá que determinar que são. Tem que haver algo fundamentalmente diferente entre eles. Firmware? Mesmas versões RPM?
slm
@Sim existem duas mesmas máquinas com os mesmos centos 6.4 o que devo procurar agora?
biz14
Compare as saídas de lshwe dmidecodeseria minhas próximas áreas para examinar.
slm
Respostas:
5
Depurando o problema
Os outros sistemas são idênticos a esse sistema? Você terá que determinar que são. Tem que haver algo fundamentalmente diferente entre eles. Firmware? Mesmas versões RPM?
Você pode usar ferramentas como lshw, dmidecode, e olhando para o dmesglog em busca de pistas sobre o que é diferente e que é a causa raiz.
Eu obteria uma boa linha de base dos RPMs instalados executando este comando em um dos sistemas que não está apresentando esse problema e no que está e compararia as listas de pacotes para garantir que eles estejam nas mesmas versões.
O processo kipmi0 pode mostrar uma maior utilização da CPU no Linux. A utilização pode aumentar até 100% quando o dispositivo IPMI (Intelligent Platform Management Interface), como um BMC (Controlador de gerenciamento de placa base) ou IMM (Controlador de gerenciamento integrado) está ocupado ou não responde.
Consertar
Nenhuma correção é necessária. Você deve ignorar o aumento da utilização da CPU, pois não afeta o desempenho real do sistema.
Gambiarra
Se estiver usando um dispositivo IPMI, redefina o BMC ou reinicie o sistema.
Se não estiver usando um dispositivo IPMI, pare o serviço IPMI emitindo o seguinte comando:
parada de ipmi de serviço
Solução potencial # 2
Eu encontrei este post no blog de alguém simplesmente intitulado: kipmi0 problem . 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 lm_sensorspacote.
Estes foram os 2 módulos do kernel:
ipmi_si
ipmi_msghandler
Gambiarra
Você pode removê-los manualmente com os seguintes comandos:
rmmod ipmi_msghandler
rmmod ipmi_si
Para tornar essa correção permanente, você precisará desativar o carregamento desses módulos específicos do kernel em um dos lm_sensorsarquivos de configuração, comentando-os da seguinte forma:
Estive no site e no meu sistema não encontro este arquivo / etc / sysconfig / lm_sensors. Algo engraçado quando eu faço a classificação no primeiro arquivo é Asc, mas o segundo arquivo é desc? Em segundo lugar, como gerar a diferença em um arquivo. Sim, também vejo muitas diferenças.
biz14
Sim, agora eu fiz a segunda vez que é classificado em conformidade decrescente. Eu não entendo como usar o grep "|". O que mais devo fazer para corrigir este problema?
biz14
Tudo o que eu estava dizendo era fazer isso: sdiff machine1_rpms.txt machine2_rpms.txt | grep "|"eliminará todas as diferenças entre os 2 arquivos .txt. Existem outras maneiras de fazer isso, mas essa é uma maneira.
slm
Eu executei este comando e aqui está a saída sdiff 12_rpms.txt 11_rpms.txt | grep "|" perl-DBI-1.609-4.el6.x86_64 | perl-Digest-SHA-5.47-131.el6_4.x86_64. O 12_rpms é a máquina do problema e o outro está sem o problema. Mas quando eu olho manualmente 12_rpms tem 247 linhas e 11_rpms tem 263, mas o sdiff é apenas um? Então, qual deve ser o meu próximo passo agora com base nessa diferença?
esse encadeamento pode usar muita CPU, dependendo do desempenho da interface. Isso pode desperdiçar muita CPU e causar vários problemas na detecção da CPU ociosa e no uso de energia extra. Para evitar isso, o kipmid_max_busy_us define a quantidade máxima de tempo, em microssegundos, que o kipmid irá girar antes de dormir para um carrapato. Esse valor estabelece um equilíbrio entre desempenho e desperdício de CPU e precisa ser ajustado às suas necessidades. Talvez, algum dia, o ajuste automático seja adicionado, mas isso não é uma coisa simples e até o ajuste automático precisaria ser ajustado ao desempenho desejado do usuário.
Portanto, podemos executar este comando para definir o parâmetro kipmid_max_busy_us:
Em nosso sistema, após definir esse parâmetro, a CPU do kipmi0 caiu 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 /etc/modprobe.d/, ou seja /etc/modprobe.d/ipmi.conf, e adicione o seguinte conteúdo:
Agora, toda vez que o módulo do kernel ipmi_si é carregado no kernel, o parâmetro deve ser definido automaticamente e corretamente. # Prevent kipmi0 from consuming 100% CPU
options ipmi_si kipmid_max_busy_us=100
Embora essa possa ser a resposta correta, é considerada uma prática recomendada nos sites da SE detalhar detalhadamente o raciocínio como parte de sua resposta, além de citar links externos. Dessa forma, se o link externo se tornar extinto, a lógica e o raciocínio ainda estarão visíveis aqui.
Drav Sloan
Existe uma maneira padrão de fazer isso entrar em vigor permanentemente?
tgharold
No CentOS / RHEL, esse comando pode ser permanente, adicionando-o ao /etc/rc.d/rc.local. O rc.local é executado após todos os outros scripts init.
tgharold
1
O kipmi0 pode ser desabilitado inteiramente no CentOS 6 adicionando ipmi_si.force_kipmid=0como 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 relevantes do kernel em/boot/grub/grub.conf
NOTA: Nas distros que possuem ipmi_si como um módulo separado do kernel, é mais apropriado usar um arquivo modprobe.d conf. No CentOS, o ipmi_si é incorporado à imagem do kernel, portanto, as configurações do modprobe não funcionam.
lshw
edmidecode
seria minhas próximas áreas para examinar.Respostas:
Depurando o problema
Os outros sistemas são idênticos a esse sistema? Você terá que determinar que são. Tem que haver algo fundamentalmente diferente entre eles. Firmware? Mesmas versões RPM?
Você pode usar ferramentas como
lshw
,dmidecode
, e olhando para odmesg
log em busca de pistas sobre o que é diferente e que é a causa raiz.Eu obteria uma boa linha de base dos RPMs instalados executando este comando em um dos sistemas que não está apresentando esse problema e no que está e compararia as listas de pacotes para garantir que eles estejam nas mesmas versões.
Em seguida, pegue os arquivos na mesma máquina e faça um sdiff dos 2 arquivos:
Causa potencial # 1
O site da IBM tinha esta nota técnica intitulada: Kipmi0 pode mostrar aumento da utilização da CPU no Linux , em relação a esse problema. De acordo com esse problema, você pode essencialmente ignorar o problema.
Descrição da questão
Consertar
Gambiarra
Se não estiver usando um dispositivo IPMI, pare o serviço IPMI emitindo o seguinte comando:
parada de ipmi de serviço
Solução potencial # 2
Eu encontrei este post no blog de alguém simplesmente intitulado: kipmi0 problem . 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
lm_sensors
pacote.Estes foram os 2 módulos do kernel:
Gambiarra
Você pode removê-los manualmente com os seguintes comandos:
Para tornar essa correção permanente, você precisará desativar o carregamento desses módulos específicos do kernel em um dos
lm_sensors
arquivos de configuração, comentando-os da seguinte forma:Reinicie
lm_sensors
após fazer essas alterações:fonte
sdiff machine1_rpms.txt machine2_rpms.txt | grep "|"
eliminará todas as diferenças entre os 2 arquivos .txt. Existem outras maneiras de fazer isso, mas essa é uma maneira.De acordo com o documento IPMI :
Portanto, podemos executar este comando para definir o parâmetro kipmid_max_busy_us:
Em nosso sistema, após definir esse parâmetro, a CPU do kipmi0 caiu 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
/etc/modprobe.d/
, ou seja/etc/modprobe.d/ipmi.conf
, e adicione o seguinte conteúdo: Agora, toda vez que o módulo do kernel ipmi_si é carregado no kernel, o parâmetro deve ser definido automaticamente e corretamente.# Prevent kipmi0 from consuming 100% CPU
options ipmi_si kipmid_max_busy_us=100
fonte
O kipmi0 pode ser desabilitado inteiramente no CentOS 6 adicionando
ipmi_si.force_kipmid=0
como um parâmetro do kernelTeste 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 relevantes do kernel em/boot/grub/grub.conf
NOTA: Nas distros que possuem ipmi_si como um módulo separado do kernel, é mais apropriado usar um arquivo modprobe.d conf. No CentOS, o ipmi_si é incorporado à imagem do kernel, portanto, as configurações do modprobe não funcionam.
fonte
O CentOS 6 possui um driver ipmi compilado no kernel. Se você não precisa do suporte ao ipmi, desative-o grub.conf
fonte
Encontrei as seguintes ajudas com esse problema:
Isso parece ativar o IPMI e então deixa de usar 100% de um núcleo.
Eu também achei o seguinte útil:
Também no passado, em alguns servidores, consegui resolver o uso de 100% da CPU:
e
mas na minha experiência mais recente opções acima seria justa causa
ipmitool
para ser não-responsivos e sentar-se lá, fazendo-me Ctrl+ C-lo.Espero que isso ajude alguém.
fonte
echo 1 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
?Eu encontrei isso rodando o CentOS 7 e tentando descobrir o que estava acontecendo.
Para mim, era o "ipmicfg" do Supermicro, executado a partir de um script que escrevi ou algo assim. Acabei de compilá-lo e o uso do kipmi0 foi embora.
fonte