我们有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
这将是我接下来要研究的领域。
Answers:
其他系统与此系统相同吗?您将必须确定它们是。它们之间必须有根本不同的东西。固件?相同的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可能显示Linux上的CPU使用率增加。根据此问题,您基本上可以忽略该问题。
问题描述
在Linux中,kipmi0进程可能显示CPU使用率增加。当IPMI(智能平台管理接口)设备(例如BMC(基板管理控制器)或IMM(集成管理控制器))繁忙或无响应时,利用率可能会提高100%。
固定
无需修复。您应该忽略增加的CPU使用率,因为它不会影响实际的系统性能。
解决方法
如果不使用IPMI设备,请通过发出以下命令来停止IPMI服务:
服务ipmi停止
我在某人的博客上找到了该帖子,标题为:kipmi0 problem。这个问题听起来和您的一样。该问题可追溯到2个内核模块作为lm_sensors
软件包的一部分加载的问题。
这些是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在睡眠a刻之前将旋转的最长时间(以微秒为单位)。该值在性能和CPU浪费之间建立了平衡,需要根据需要进行调整。也许有一天,会添加自动调整功能,但这并不是一件容易的事,即使自动调整功能也需要调整到用户所需的性能。
因此,我们可以执行以下命令来设置kipmid_max_busy_us参数:
echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
在我们的系统中,设置此参数后,kipmi0的cpu降低到15%。
你可以试试看
要使更改持久化,您可以配置ipmi_si内核模块的选项。
在中创建一个文件/etc/modprobe.d/
,即/etc/modprobe.d/ipmi.conf
,并添加以下内容:
现在,每次将ipmi_si内核模块加载到内核中时,都应该自动正确地设置参数。
# Prevent kipmi0 from consuming 100% CPU
options ipmi_si kipmid_max_busy_us=100
我发现以下有助于解决此问题的方法:
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
吗?