우리는 CentOS 6.4를 가지고 kipmi0
있으며 99.8 % CPU 및 0.0 % 메모리로 표시하고로드 평균은 1.00입니다. 이 문제를 해결하려면 어떻게해야합니까?
lshw
하고 dmidecode
조사하는 내 옆에있는 지역이 될 것입니다.
우리는 CentOS 6.4를 가지고 kipmi0
있으며 99.8 % CPU 및 0.0 % 메모리로 표시하고로드 평균은 1.00입니다. 이 문제를 해결하려면 어떻게해야합니까?
lshw
하고 dmidecode
조사하는 내 옆에있는 지역이 될 것입니다.
답변:
다른 시스템이이 시스템과 동일합니까? 그것들이 맞는지 확인해야합니다. 그들 사이에는 근본적으로 다른 것이 있어야합니다. 펌웨어? 같은 RPM 버전?
당신은 같은 도구를 사용할 수 있습니다 lshw
, dmidecode
그리고보고 dmesg
무엇을 달라 어떤 것이 근본 원인이다에 대한 단서에 대한 로그를.
이 문제를 나타내지 않는 시스템 중 하나와 패키지 목록을 비교하고 모두 동일한 버전인지 확인하기 위해이 명령을 실행하여 설치된 RPM의 좋은 기준을 얻습니다.
# machine #1
$ rpm -aq | sort -rn > machine1_rpms.txt
# machine #2
$ rpm -aq | sort -rn > machine2_rpms.txt
그런 다음 동일한 시스템에서 파일을 가져 와서 두 파일 중 하나를 수행하십시오.
sdiff machine1_rpms.txt machine2_rpms.txt
IBM 웹 사이트에는 이 문제와 관련하여 기술 정보 제목이 Kipmi0 May Linux 에서 증가 된 CPU 사용률을 표시 할 수 있습니다. 이 문제에 따르면 본질적으로 문제를 무시할 수 있습니다.
문제 설명
kipmi0 프로세스는 Linux에서 CPU 사용률이 증가한 것으로 표시 될 수 있습니다. BMC (Baseboard Management Controller) 또는 IMM (Integrated Management Controller)과 같은 IPMI (Intelligent Platform Management Interface) 장치가 사용 중이거나 응답하지 않으면 사용률이 100 %까지 증가 할 수 있습니다.
고치다
수정이 필요하지 않습니다. 실제 시스템 성능에는 영향을 미치지 않으므로 증가 된 CPU 사용률은 무시해야합니다.
해결 방법
IPMI 장치를 사용하지 않는 경우 다음 명령을 실행하여 IPMI 서비스를 중지하십시오.
서비스 ipmi 중지
kipmi0 problem 이라는 제목의 누군가 블로그 에서이 게시물을 발견했습니다 . 이 문제는 귀하와 동일하게 들렸습니다. 이 문제는 lm_sensors
패키지의 일부로로드 된 2 개의 커널 모듈 관련 문제로 추적되었습니다 .
다음은 2 개의 커널 모듈입니다.
해결 방법
다음 명령으로이를 수동으로 제거 할 수 있습니다.
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
sdiff machine1_rpms.txt machine2_rpms.txt | grep "|"
2 .txt 파일의 모든 차이점을 제거합니다. 다른 방법이 있지만 그 방법 중 하나입니다.
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 커널 모듈에 대한 옵션을 구성 할 수 있습니다. , 즉
파일을 만들고 다음 내용을 추가하십시오.
이제 ipmi_si 커널 모듈이 커널에로드 될 때마다 매개 변수가 자동으로 올바르게 설정되어야합니다./etc/modprobe.d/
/etc/modprobe.d/ipmi.conf
# Prevent kipmi0 from consuming 100% CPU
options ipmi_si kipmid_max_busy_us=100
ipmi_si.force_kipmid=0
커널 매개 변수로 추가하여 CentOS 6에서 kipmi0을 완전히 비활성화 할 수 있습니다.
GRUB 부팅 화면에서 부팅하려는 커널을 강조 표시하고 'a'를 눌러 매개 변수를 수정하고 추가하십시오. ipmi_si.force_kipmid=0
ipmi_si.force_kipmid=0
관련 커널 라인 을 추가 하여 영구적으로 만듭니다 ./boot/grub/grub.conf
참고 : ipmi_si를 별도의 커널 모듈로 사용하는 배포판에서는 modprobe.d conf 파일을 사용하는 것이 더 적합합니다. CentOS에서는 ipmi_si가 커널 이미지에 내장되어 있으므로 modprobe 구성이 작동하지 않습니다.
이 문제에 도움이되는 내용은 다음과 같습니다.
ipmitool bmc info
이것은 IPMI를 깨운 다음 코어의 100 % 사용을 중지합니다.
나는 또한 다음과 같은 도움이되었다.
echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
또한 과거에는 다음과 같은 방법으로 일부 서버에서 100 % CPU 사용량을 해결할 수있었습니다.
ipmitool lan print
과
ipmitool bmc reset cold
그러나 가장 최근의 경험에서 위의 옵션은 ipmitool
응답하지 않고 거기에 앉아 Ctrl+ + C하도록했습니다.
잘하면 이것은 누군가를 돕는다.
echo 1 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
있습니까?