@ Ich habe es schon einmal gelesen, daher steht dort nur "Ignorieren", sollte ich es einfach ignorieren, aber auf meinen anderen Rechnern tritt dieses Problem nicht auf?
biz14
Sind die anderen Systeme mit diesem System identisch? Sie müssen feststellen, dass sie sind. Es muss etwas geben, das sich grundlegend unterscheidet. Firmware? Gleiche RPM-Versionen?
slm
@Ja, es gibt zwei gleiche Maschinen mit gleichen Centos. 6.4 Wonach soll ich jetzt suchen?
biz14
Vergleichen Sie die Ergebnisse von lshwund sehen Sie dmidecodesich meine nächsten Bereiche an.
slm
Antworten:
5
Debuggen des Problems
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.
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 ein IPMI-Gerät verwenden, setzen Sie den BMC zurück oder starten Sie das System neu.
Wenn Sie kein IPMI-Gerät verwenden, beenden Sie den IPMI-Dienst, indem Sie den folgenden Befehl eingeben:
Service IPMI zu stoppen
Mögliche Lösung Nr. 2
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:
ipmi_si
ipmi_msghandler
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 :
Ich war sowohl auf der Website als auch in meinem System und finde diese Datei / etc / sysconfig / lm_sensors nicht. Etwas komisches, wenn ich die erste Datei sortiere, ist Asc, aber die zweite Datei ist desc? Zweitens, wie man den Unterschied in eine Datei ausgibt. Ja, ich sehe auch eine ganze Reihe von Unterschieden.
biz14
ja jetzt habe ich es das zweite mal gemacht es ist entsprechend absteigend sortiert. Ich verstehe nicht, wie man das grep "|" benutzt. Was kann ich noch tun, um das Problem zu beheben?
biz14
Alles was ich gesagt habe war, dies zu tun: 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.
slm
Ich habe diesen Befehl ausgeführt und hier ist die Ausgabe sdiff 12_rpms.txt 11_rpms.txt | grep "|" perl-DBI-1.609-4.el6.x86_64 | perl-Digest-SHA-5.47-131.el6_4.x86_64. Das 12_rpms ist die Problemmaschine und das andere ist ohne das Problem. Aber wenn ich manuell nachschaue, haben 12_rpms 247 Zeilen und 11_rpms 263, aber der SDIFF ist nur eine? Was sollte nun mein nächster Schritt sein, basierend auf diesem Unterschied?
biz14
Bitte posten Sie diese Dateien auch auf pastebin.com .
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:
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
Auch wenn dies die richtige Antwort sein mag, wird es auf SE-Websites als bewährte Methode angesehen, die Begründung als Teil Ihrer Antwort anzugeben und externe Links anzugeben. Auf diese Weise können Sie die Logik und die Argumentation auch dann noch anzeigen, wenn der externe Link nicht mehr funktioniert.
Drav Sloan
Gibt es eine Standardmethode, um diese Wirkung dauerhaft zu erzielen?
Tgharold
Unter CentOS / RHEL kann dieser Befehl permanent gemacht werden, indem er zu /etc/rc.d/rc.local hinzugefügt wird. Die rc.local wird nach allen anderen Init-Skripten ausgeführt.
Tgharold
1
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.
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.
Gibt es ein Problem zu tun echo 1 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us?
Qian Chen
0
Ich fand dies unter CentOS 7 und versuchte herauszufinden, was es aufnahm.
Für mich war es Supermicros "ipmicfg", das von einem Skript ausgeführt wurde, das ich geschrieben habe oder so. Ich habe es nur gekillt und die Nutzung von kipmi0 ist weg.
lshw
und sehen Siedmidecode
sich meine nächsten Bereiche an.Antworten:
Debuggen des Problems
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
,dmidecode
und bei der Suchedmesg
nach 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.
Dann holen Sie sich die Dateien auf den gleichen Rechner und sdiff die 2 Dateien:
Mögliche Ursache Nr. 1
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
Fix
Umgehung
Wenn Sie kein IPMI-Gerät verwenden, beenden Sie den IPMI-Dienst, indem Sie den folgenden Befehl eingeben:
Service IPMI zu stoppen
Mögliche Lösung Nr. 2
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_sensors
Pakets geladen wurden .Dies waren die 2 Kernelmodule:
Umgehung
Sie können diese mit den folgenden Befehlen manuell entfernen:
Um diesen Fix dauerhaft zu machen, müssen Sie das Laden dieser bestimmten Kernelmodule in einer der
lm_sensors
Konfigurationsdateien deaktivieren , indem Sie sie wie folgt auskommentieren :Starten Sie neu,
lm_sensors
nachdem Sie diese Änderungen vorgenommen haben:quelle
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 :
Also können wir diesen Befehl ausführen, um den Parameter kipmid_max_busy_us zu setzen:
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.conf
und 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
quelle
kipmi0 kann unter CentOS 6 vollständig deaktiviert werden, indem
ipmi_si.force_kipmid=0
ein Kernel-Parameter hinzugefügt wirdTesten 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=0
an 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.
quelle
In CentOS 6 ist der ipmi-Treiber im Kernel kompiliert. Wenn Sie keine IPMI-Unterstützung benötigen, deaktivieren Sie einfach die Datei grub.conf
quelle
Ich fand die folgenden Hilfen bei diesem Problem:
Dies scheint IPMI aufzuwecken und beendet dann die Verwendung von 100% eines Kerns.
Ich fand auch Folgendes hilfreich:
Auch in der Vergangenheit konnte ich auf einigen Servern die 100% ige CPU-Auslastung beheben, indem ich:
und
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.
quelle
echo 1 > /sys/module/ipmi_si/parameters/kipmid_max_busy_us
?Ich fand dies unter CentOS 7 und versuchte herauszufinden, was es aufnahm.
Für mich war es Supermicros "ipmicfg", das von einem Skript ausgeführt wurde, das ich geschrieben habe oder so. Ich habe es nur gekillt und die Nutzung von kipmi0 ist weg.
quelle