Wir haben CentOS 6.4 und die kipmi0zeigt als 99,8% CPU und 0,0% Speicher und Last Durchschnitt ist 1,00. Was sollen wir tun, um dies zu korrigieren?
lshwund sehen Sie dmidecodesich meine nächsten Bereiche an.
Wir haben CentOS 6.4 und die kipmi0zeigt als 99,8% CPU und 0,0% Speicher und Last Durchschnitt ist 1,00. Was sollen wir tun, um dies zu korrigieren?
lshwund sehen Sie dmidecodesich meine nächsten Bereiche an.
Antworten:
Sind die anderen Systeme mit diesem System identisch? Du wirst feststellen müssen, dass sie es sind. Es muss etwas geben, das sich grundlegend unterscheidet. Firmware? Gleiche RPM-Versionen?
Sie können Tools wie lshw, dmidecodeund bei der Suche dmesgnach Hinweisen log, was anders ist und was die Ursache.
Wenn Sie diesen Befehl auf einem der Systeme ausführen, auf denen dieses Problem nicht auftritt, und auf dem anderen, auf dem die Paketlisten verglichen werden, um sicherzustellen, dass alle RPMs dieselbe Version haben, erhalten Sie eine gute Übersicht über die installierten RPMs.
# machine #1
$ rpm -aq | sort -rn > machine1_rpms.txt
# machine #2
$ rpm -aq | sort -rn > machine2_rpms.txt
Dann holen Sie sich die Dateien auf den gleichen Rechner und sdiff die 2 Dateien:
sdiff machine1_rpms.txt machine2_rpms.txt
Die IBM Website hatte diesen Technote mit dem Titel: Kipmi0 kann eine erhöhte CPU-Auslastung unter Linux in Bezug auf dieses Problem anzeigen . Entsprechend dieser Ausgabe können Sie das Problem im Wesentlichen ignorieren.
Beschreibung des Problems
Der kipmi0-Prozess kann unter Linux eine erhöhte CPU-Auslastung aufweisen. Die Auslastung kann bis zu 100% ansteigen, wenn das IPMI-Gerät (Intelligent Platform Management Interface), z. B. ein BMC (Baseboard Management Controller) oder IMM (Integrated Management Controller), ausgelastet ist oder nicht reagiert.
Fix
Kein Update erforderlich. Sie sollten eine erhöhte CPU-Auslastung ignorieren, da dies keine Auswirkungen auf die tatsächliche Systemleistung hat.
Umgehung
Wenn Sie kein IPMI-Gerät verwenden, beenden Sie den IPMI-Dienst, indem Sie den folgenden Befehl eingeben:
Service IPMI zu stoppen
Ich fand diesen Beitrag in einem Blog mit dem Titel: kipmi0 problem . Dieses Problem klang identisch mit Ihrem. Das Problem wurde auf ein Problem mit zwei Kernelmodulen zurückgeführt, die als Teil des lm_sensorsPakets geladen wurden .
Dies waren die 2 Kernelmodule:
Umgehung
Sie können diese mit den folgenden Befehlen manuell entfernen:
rmmod ipmi_msghandler
rmmod ipmi_si
Um diesen Fix dauerhaft zu machen, müssen Sie das Laden dieser bestimmten Kernelmodule in einer der lm_sensorsKonfigurationsdateien deaktivieren , indem Sie sie wie folgt auskommentieren :
# /etc/sysconfig/lm_sensors
# MODULE_0=ipmi-si
# MODULE_1=ipmisensors
# MODULE_2=coretemp
Starten Sie neu, lm_sensorsnachdem Sie diese Änderungen vorgenommen haben:
/etc/init.d/lm_sensors
sdiff machine1_rpms.txt machine2_rpms.txt | grep "|"Alle Unterschiede zwischen den 2 .txt-Dateien werden herausgezogen. Es gibt andere Möglichkeiten, dies zu tun, aber das ist eine Möglichkeit.
Nach dem IPMI-Dokument :
Dieser Thread kann abhängig von der Leistung der Schnittstelle viel CPU verbrauchen. Dies kann viel CPU verschwenden und verschiedene Probleme beim Erkennen von CPU-Leerlauf und bei der Verwendung von zusätzlichem Strom verursachen. Um dies zu vermeiden, legt kipmid_max_busy_us die maximale Zeit in Mikrosekunden fest, die sich das Kipmid dreht, bevor es für eine Zecke schläft. Dieser Wert stellt ein Gleichgewicht zwischen Leistung und CPU-Verschwendung her und muss an Ihre Anforderungen angepasst werden. Vielleicht wird eines Tages eine automatische Optimierung hinzugefügt, aber das ist keine einfache Sache, und selbst die automatische Optimierung müsste auf die vom Benutzer gewünschte Leistung abgestimmt werden.
Also können wir diesen Befehl ausführen, um den Parameter kipmid_max_busy_us zu setzen:
echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
In unserem System ist nach dem Einstellen dieses Parameters die CPU von kipmi0 auf 15% gesunken.
Sie können dies versuchen.
Um die Änderungen dauerhaft zu speichern, können Sie die Optionen für das Kernelmodul ipmi_si konfigurieren.
Erstellen Sie eine Datei in /etc/modprobe.d/, /etc/modprobe.d/ipmi.confund fügen Sie den folgenden Inhalt hinzu:
Jedes Mal, wenn das Kernelmodul ipmi_si in den Kernel geladen wird, sollte der Parameter automatisch und korrekt festgelegt werden.
# Prevent kipmi0 from consuming 100% CPU
options ipmi_si kipmid_max_busy_us=100
kipmi0 kann unter CentOS 6 vollständig deaktiviert werden, indem ipmi_si.force_kipmid=0ein Kernel-Parameter hinzugefügt wird
Testen Sie auf dem GRUB-Startbildschirm, indem Sie den Kernel markieren, den Sie booten möchten, und drücken Sie 'a', um die Parameter zu ändern und anzuhängen ipmi_si.force_kipmid=0
Machen Sie es dauerhaft, indem Sie ipmi_si.force_kipmid=0an die entsprechenden Kernel-Zeilen in anhängen/boot/grub/grub.conf
ANMERKUNG: In Distributionen mit ipmi_si als separatem Kernelmodul ist die Verwendung einer Datei modprobe.d conf geeigneter. In CentOS ist ipmi_si in das Kernel-Image integriert, sodass die Modprobe-Konfigurationen nicht funktionieren.
Ich fand die folgenden Hilfen bei diesem Problem:
ipmitool bmc info
Dies scheint IPMI aufzuwecken und beendet dann die Verwendung von 100% eines Kerns.
Ich fand auch Folgendes hilfreich:
echo 100 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
Auch in der Vergangenheit konnte ich auf einigen Servern die 100% ige CPU-Auslastung beheben, indem ich:
ipmitool lan print
und
ipmitool bmc reset cold
Nach meiner jüngsten Erfahrung würden die oben genannten Optionen nur dazu führen ipmitool, dass ich nicht mehr reagiere und dort sitze, was mich dazu veranlasst, es zu Ctrltun C.
Hoffentlich hilft das jemandem.
echo 1 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us?