Kipmi0은 centos 6.4에서 CPU의 99.8%를 차지합니다.

Kipmi0은 centos 6.4에서 CPU의 99.8%를 차지합니다.

CentOS 6.4를 사용하고 있으며 kipmi0CPU는 99.8%, 메모리는 0.0%, 로드 평균은 1.00을 보이고 있습니다. 이를 바로잡기 위해 우리는 어떤 조치를 취해야 합니까?

답변1

~에 따르면IPMI 문서:

이 스레드는 인터페이스 성능에 따라 CPU를 많이 사용할 수 있습니다. 이는 많은 CPU를 낭비할 수 있으며 유휴 CPU 감지 및 추가 전력 사용에 다양한 문제를 일으킬 수 있습니다. 이를 방지하기 위해 kipmid_max_busy_us는 kipmid가 틱 동안 잠자기 전에 회전할 수 있는 최대 시간(마이크로초)을 설정합니다. 이 값은 성능과 CPU 낭비 사이의 균형을 설정하며 필요에 따라 조정해야 합니다. 언젠가는 자동튜닝이 추가되겠지만 이는 간단한 문제가 아니며, 자동튜닝도 사용자가 요구하는 성능에 맞춰 조정해야 합니다.

따라서 이 명령을 실행하여 kipmid_max_busy_us 매개변수를 설정할 수 있습니다.

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

우리 시스템에서는 이 매개변수를 설정한 후 kipmi0의 CPU가 15%로 떨어졌습니다.

이것을 시도해 볼 수 있습니다.

변경 사항을 지속적으로 적용하려면 ipmi_si 커널 모듈에 대한 옵션을 구성하면 됩니다. Internet Explorer 에서 파일을 생성
하고 다음 콘텐츠를 추가합니다. 이제 ipmi_si 커널 모듈이 커널에 로드될 때마다 이 매개변수가 자동으로 올바르게 설정됩니다./etc/modprobe.d//etc/modprobe.d/ipmi.conf
# Prevent kipmi0 from consuming 100% CPU
options ipmi_si kipmid_max_busy_us=100

답변2

디버깅 문제

다른 시스템도 이 시스템과 동일합니까? 당신은 그들이 있는지 확인해야합니다. 그들 사이에는 근본적으로 다른 것이 있어야합니다. 펌웨어? 동일한 RPM 버전인가요?

lshw, , 등의 도구를 사용 dmidecode하고 dmesg로그 보기를 통해 불일치 및 근본 원인에 대한 단서를 찾을 수 있습니다.

이 문제가 없는 시스템과 문제가 있는 시스템 중 하나에서 이 명령을 실행하여 설치된 RPM의 좋은 기준을 얻을 수 있으며, 패키지 목록을 비교하여 모두 동일한 버전인지 확인할 수 있습니다.

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

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

그런 다음 동일한 시스템에서 파일을 가져오고 두 파일을 모두 sdiff합니다.

 sdiff machine1_rpms.txt machine2_rpms.txt

잠재적 원인 #1

IBM 웹 사이트의 기술 노트 제목은 다음과 같습니다.Kipmi0은 Linux에서 CPU 사용률이 증가한 것으로 나타날 수 있습니다.,이 문제에 대해. 이 질문에 따르면 기본적으로 이 문제를 무시할 수 있습니다.

문제 설명

Linux의 kipmi0 프로세스는 CPU 사용률이 증가한 것으로 나타날 수 있습니다. BMC(베이스보드 관리 컨트롤러) 또는 IMM(통합 관리 컨트롤러)과 같은 IPMI(지능형 플랫폼 관리 인터페이스) 장치가 사용 중이거나 응답하지 않으면 활용도가 100%로 증가할 수 있습니다.

고정시키다

고칠 필요가 없습니다. CPU 사용률 증가는 실제 시스템 성능에 영향을 주지 않으므로 무시해야 합니다.

해결책

  1. IPMI 장치를 사용하는 경우 BMC를 재설정하거나 시스템을 재부팅하십시오.
  2. IPMI 장치를 사용하지 않는 경우 다음 명령을 실행하여 IPMI 서비스를 중지하십시오.

    서비스 IPMI가 중지되었습니다

잠재적인 솔루션 #2

누군가의 블로그에서 다음과 같은 간단한 제목의 기사를 발견했습니다.kipmi0 문제. 이 문제는 당신과 같은 것 같습니다. 이 문제는 lm_sensors패키지의 일부로 로드된 2개의 커널 모듈과 관련된 문제 로 추적되었습니다 .

다음은 2개의 커널 모듈입니다.

  • ipmi_si
  • ipmi_msghandler

해결책

다음 명령을 사용하여 수동으로 삭제할 수 있습니다.

rmmod ipmi_msghandler
rmmod ipmi_si

lm_sensors이 수정 사항을 영구적으로 적용하려면 다음과 같이 구성 파일 중 하나에서 특정 커널 모듈을 주석 처리하여 로드를 비활성화해야 합니다 .

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

lm_sensors다음과 같이 변경한 후 다시 시작하세요.

/etc/init.d/lm_sensors

답변3

ipmi_si.force_kipmid=0kipmi0은 커널 매개변수로 추가하여 CentOS 6에서 완전히 비활성화할 수 있습니다.

부팅할 커널을 강조 표시하고 "a"를 눌러 매개변수를 수정하고 추가하여 GRUB 부팅 화면에서 테스트합니다.ipmi_si.force_kipmid=0

관련 커널 라인에 추가하여 ipmi_si.force_kipmid=0영구적으로 만듭니다./boot/grub/grub.conf

참고: ipmi_si가 별도의 커널 모듈로 포함된 배포판에서는 modprobe.d conf 파일을 사용하는 것이 더 적합합니다. CentOS에서는 ipmi_si가 커널 이미지에 내장되어 있으므로 modprobe 구성은 효과가 없습니다.

답변4

이 문제를 해결하는 데 도움이 되는 다음을 찾았습니다.

ipmitool bmc info

이는 IPMI를 깨운 다음 ​​코어의 100% 사용을 중지하는 것 같습니다.

또한 다음 내용도 도움이 되었습니다.

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

또한 과거에는 다음과 같은 방법으로 일부 서버의 CPU 사용량 100% 문제를 해결할 수 있었습니다.

ipmitool lan print

그리고

ipmitool bmc reset cold

그러나 최근 경험에 따르면 위 옵션을 사용하면 ipmitool응답이 없고 그대로 앉아 Ctrl+ C를 하게 됩니다.

이것이 누군가에게 도움이 되기를 바랍니다.

관련 정보