Centos 6.4で最大99.8%CPUを消費するKipmi0


15

CentOS 6.4があり、kipmi099.8%cpuおよび0.0%メモリとして表示され、負荷平均は1.00です。これを修正するにはどうすればよいですか?



2
@私は前に読んだことがあるので、無視するだけで無視する必要があると言っていますが、他のマシンにはこの問題はありませんか?
biz14

他のシステムはこのシステムと同一ですか?あなたは彼らがそうであると決定しなければならないでしょう。それらの間で根本的に異なるものがなければなりません。ファームウェア?同じRPMバージョンですか?
slm

@はい、同じcentos 6.4の同じマシンが2台あります。
biz14

以下からの出力を比較lshwしてdmidecodeに見て私の次のエリアになります。
slm

回答:


5

問題のデバッグ

他のシステムはこのシステムと同一ですか?あなたは彼らがそうであると決定しなければならないでしょう。それらの間で根本的に異なるものがなければなりません。ファームウェア?同じRPMバージョンですか?

lshw、などのツールを使用dmidecodeして、dmesgログを見て、何が違うのか、何が根本原因なのかを知ることができます。

この問題が発生していないシステムと実行中のシステムのいずれかでこのコマンドを実行することにより、インストールされたRPMの良好なベースラインを取得し、パッケージリストを比較して、すべて同じバージョンであることを確認します。

 # machine #1
 $ rpm -aq | sort -rn > machine1_rpms.txt

 # machine #2
 $ rpm -aq | sort -rn > machine2_rpms.txt     

次に、同じマシンでファイルを取得し、2つのファイルのsdiffを実行します。

 sdiff machine1_rpms.txt machine2_rpms.txt

潜在的な原因#1

IBMのWebサイトには、この問題に関する「Kipmi0 LinuxでのCPU使用率の増加を表示する」というタイトルの技術情報がありました。この問題によると、本質的に問題を無視できます。

問題の説明

kipmi0プロセスは、LinuxでのCPU使用率の増加を示す場合があります。BMC(Baseboard Management Controller)やIMM(Integrated Management Controller)などのIPMI(Intelligent Platform Management Interface)デバイスがビジーまたは応答しない場合、使用率は最大100%増加する場合があります。

修正する

修正は必要ありません。CPU使用率の増加は、実際のシステムパフォーマンスに影響を与えないため、無視する必要があります。

回避策

  1. IPMIデバイスを使用している場合は、BMCをリセットするか、システムを再起動します。
  2. IPMIデバイスを使用していない場合は、次のコマンドを発行してIPMIサービスを停止します。

    サービスipmi停止

潜在的なソリューション#2

私は誰かのブログでこの投稿を見つけました。この問題はあなたのものと同じように聞こえました。この問題は、lm_sensorsパッケージの一部としてロードされていた2つのカーネルモジュールの問題に起因していました。

これらは2つのカーネルモジュールです。

  • ipmi_si
  • ipmi_msghandler

回避策

次のコマンドを使用して、これらを手動で削除できます。

rmmod ipmi_msghandler
rmmod ipmi_si

この修正を永続的にするには、lm_sensors設定ファイルの1つでこれらの特定のカーネルモジュールの読み込みを無効にする必要があります。

# /etc/sysconfig/lm_sensors
# MODULE_0=ipmi-si
# MODULE_1=ipmisensors
# MODULE_2=coretemp

lm_sensorsこれらの変更を行った後、再起動します。

/etc/init.d/lm_sensors

Webサイトにアクセスしたことがありますが、システムでこのファイル/ etc / sysconfig / lm_sensorsが見つかりません。最初のファイルで並べ替えを行うときに面白いのはAscですが、2番目のファイルはdescですか?次に、差分をファイルに出力する方法。はい、私もかなりの数の違いを見ることができます。
biz14

はい、今度は降順で2回目にソートしました。grep "|"の使用方法はわかりません。この問題を修正するには、他に何をすればよいですか?
biz14

私が言っていたのはこれを行うことだけでしsdiff machine1_rpms.txt machine2_rpms.txt | grep "|"た。2つの.txtファイルのすべての違いを引き出します。他の方法もありますが、それは1つの方法です。
slm

このコマンドを実行したところ、出力は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 12_rpmsは問題のあるマシンで、もう1台は問題ありません。しかし、手動で12_rpmに247行、11_rpmに263行があるのを見ると、sdiffは1つだけですか?この違いに基づいて、次のステップはどうなるのでしょうか?
biz14

これらのファイルもpastebin.comに投稿してください。
slm

24

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カーネルモジュールのオプションを構成します。
でファイルを作成します/etc/modprobe.d/。つまり/etc/modprobe.d/ipmi.conf、次の内容を追加します 。ipmi_siカーネルモジュールがカーネルにロードされるたびに、パラメーターが自動的に正しく設定されるようになります。
# Prevent kipmi0 from consuming 100% CPU
options ipmi_si kipmid_max_busy_us=100


これは正しい答えかもしれませんが、SEサイトでは、回答の一部として推論を詳述し、外部リンクを引用することがベストプラクティスと見なされます。そうすれば、外部リンクが機能しなくなっても、ここでロジックと推論を表示できます。
ドラフスローン

それを永続的に有効にする標準的な方法はありますか?
-tgharold

CentOS / RHELでは、このコマンドを/etc/rc.d/rc.localに追加することで永続化できます。rc.localは、他のすべてのinitスクリプトの後に実行されます。
tgharold

1

ipmi_si.force_kipmid=0カーネルパラメーターとして追加することにより、Kipmi0をCentOS 6で完全に無効にできます。

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の設定は機能しません。


1

CentOS 6には、カーネルにコンパイルされたipmiドライバーがあります。ipmiサポートが必要ない場合は、grub.confを無効にしてください。

ipmi_si.tryacpi=0 ipmi_si.trydmi=0 ipmi_si.trydefaults=0

1

この問題には次のことが役立ちます。

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か?
銭チェン

0

CentOS 7を実行しているものを見つけて、何を取り上げているのかを見つけようとしました。

私にとっては、Supermicroの「ipmicfg」は、私が書いたスクリプトなどから実行されていました。私はそれを削除しただけで、kipmi0の使用はなくなりました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.