kipmi0 uses too much CPU ,使用率过高

What is kipmi? Why is it taking too much cpu in my Red Hat Enterprise Linux system?

Product: Red Hat Enterprise Linux releases 4 and 5

The Intelligent Platform Management Interface, or IPMI, is a standard for controlling intelligent devices that monitor a system. It provides for dynamic discovery of sensors in the system and the ability to monitor the sensors and be informed when the sensor's values change or go outside certain boundaries.

Some IPMI devices like the KCS hardware interface in the Sun Fire X424 does not support interrupts.

From dmidecode:
top - 17:09:16 up 216 days,  6:06,  1 user,  load average: 1.25, 1.37, 1.40
Tasks: 105 total,   2 running, 103 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.3%us, 25.6%sy,  0.0%ni, 72.5%id,  1.6%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   4049580k total,  3802524k used,   247056k free,   291596k buffers
Swap:  1052248k total,       84k used,  1052164k free,  1558824k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                               
 1982 root      39  19     0    0    0 R 99.8  0.0 107477:19 kipmi0


        IPMI Device Information//
                Interface Type: KCS (Keyboard Control Style)

kipmi - a low-priority kernel thread - is started to overcome the possible performance impact of this. kipmi constantly polls the IPMI driver while an IPMI operation is in progress. If the system does large number of IPMI operations, there is a possibility of kipmi using too much cpu time.

The kipmi thread is a workaround to fix the hardware disability. kipmi could be disabled using following steps.

Edit /etc/modprobe.conf and add following entry.

options ipmi_si force_kipmid=0

Restart the ipmi daemon using following command.

# service ipmi restart

Warning: Disabling kipmi may decrease the speed of IPMI operations.