専用サーバ

kipmiN:kipmi0のCPU使用率が非常に高い

対象プラン

さくらの専用サーバ

さくらの専用サーバ、LinuxOSにおいてBMCのリセットを実施後、[kipmiN]スレッドがCPUリソースを大きく使用し、ロードアベレージが上昇する場合があります。

 ※ psコマンド等の表示名はkipmi0のようになります。
※ kipmiNスレッドの優先度は低く設定されていますので、サーバーのレスポンスには影響を与えません。
※ kipmi以外にサーバーのロードが少ない場合、CPU使用率がほぼ100%となります。
※ BMCのリセットはリモートKVMに接続できない、リモートKVMのコンソールが
  描画されないといったお問い合わせをいただいた際に弊社にて実施させて
  いただくことがある操作です。

事象発生時の表示例

topコマンド

top - 13:31:57 up 6 days, 19:05,  2 users,  load average: 0.99, 0.97, 0.90
Tasks: 130 total,   2 running, 128 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us, 25.0%sy,  0.0%ni, 75.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  49403764k total,   666480k used, 48737284k free,   118000k buffers
Swap:  2047992k total,        0k used,  2047992k free,   130640k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
   77 root      39  19     0    0    0 R 100.0  0.0  53:09.63 kipmi0
    1 root      20   0 19356 1544 1224 S  0.0  0.0   0:00.86 init
<以下略>

load averageが継続して1に近い値となります。

%CPUがほぼ100%になります。

※ この例は4コアCPU搭載サーバーのアイドル状態です。

top - 13:35:39 up 6 days, 19:09,  2 users,  load average: 2.61, 1.40, 1.05
Tasks: 135 total,   6 running, 129 sleeping,   0 stopped,   0 zombie
Cpu(s):100.0%us,  0.0%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  49403764k total,   796672k used, 48607092k free,   120156k buffers
Swap:  2047992k total,        0k used,  2047992k free,   252572k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
12067 root      20   0  6512  188  104 R 100.0  0.0   0:31.43 stress
12065 root      20   0  6512  188  104 R 99.8  0.0   0:31.28 stress
12066 root      20   0  6512  188  104 R 99.8  0.0   0:31.42 stress
12068 root      20   0  6512  188  104 R 98.5  0.0   0:30.86 stress
   77 root      39  19     0    0    0 R  1.3  0.0  62:24.89 kipmi0
<以下略>

※ 他のプロセスが稼働している際にはkipmiのCPU使用率は下がります。

ps auxwwコマンド

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  19356  1544 ?        Ss   Jun27   0:00 /sbin/init
<略>
root        77  0.5  0.0      0     0 ?        RN   Jun27  54:14 [kipmi0]
<以下略>

STATがRNの場合、プロセスが稼働中です。

問題が発生していない場合はほぼ全ての時間SNとなりますのでRNが継続する場合 kipmiによる負荷上昇発生の疑いがあります。

ここでの%CPUはプロセス生存期間中の実行時間の割合を示すものです。

上記の現象が確認された場合、以下の操作で解消することが可能です。 なお、以下の操作の他、サーバーの再起動を行うことでも解消します。

操作手順

以下の例はCentOS6、root権限にて実行した例となります。
必要に応じてsuやsudoを実行し、root権限での操作を行う必要があります。

1ipmievdの停止

ipmievdが稼働している場合は停止します。

# /etc/init.d/ipmievd status
ipmievd (pid  XXXXX) is running...
# /etc/init.d/ipmievd stop
Shutting down ipmievd:                                     [  OK  ]

※ ipmievdはipmiのイベントをシステムイベントログやsyslogに出力するための
  デーモンです。必要に応じて対応完了後に起動してください。
  # /etc/init.d/ipmievd start

2モジュールのアンロード

ipmi_si,ipmi_devintfが読み込まれている場合はアンロードします。
# lsmod |grep ipmi
ipmi_devintf                     6587  2
ipmi_si                                 30960  1
ipmi_msghandler                 26634  2 ipmi_devintf,ipmi_si

# modprobe -r ipmi_si
# modprobe -r ipmi_devintf

3モジュールのロード

ipmi関連のモジュールをロードします。

# modprobe ipmi_devintf
# modprobe ipmi_si

※ 一部のOS、バージョンではipmi関連モジュールがカーネルに組込まれています。
  以下のように表示される場合はロード不要です。
  FATAL: Module ipmi_si not found.

4ipmitoolコマンドを実行します。

# ipmitool bmc info

※ 上記のbmc infoオプションは情報表示用のコマンドになります。
  サーバーの設定などを変更するものではありません。
※ 事象が解消されるとコマンドの実行直後からkipmiスレッドのCPU利用率が低下します。

5対応前にipmievdが稼働していた場合は起動します。

/etc/init.d/ipmievd start

なお、一旦解消した後に再度発生するような場合は 2分程度時間を置いてから再度上記の手順を実施ください。

事象解消時の表示例

topコマンド

top - 15:11:50 up 0 min,  1 user,  load average: 0.28, 0.06, 0.02
Tasks: 128 total,   2 running, 126 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.1%sy,  0.0%ni, 99.5%id,  0.3%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  49403764k total,   509120k used, 48894644k free,    91896k buffers
Swap:  2047992k total,        0k used,  2047992k free,    34100k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
   77 root      39  19     0    0    0 S  0.3  0.0   0:00.23 kipmi0
    1 root      20   0 19352 1532 1224 S  0.0  0.0   0:00.86 init
<以下略>

kipmiは定期的に立ち上がりますが%CPUの異常上昇はありません。

ps auxwwコマンド

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.5  0.0  19352  1532 ?        Ss   15:11   0:00 /sbin/init
<略>
root        77  0.3  0.0      0     0 ?        SN   15:11   0:00 [kipmi0]
<以下略>

STATはSNとなります。

以上で操作は完了です。

さくらの専用サーバ、LinuxOSにおいてBMCのリセットを実施後、[kipmiN]スレッドがCPUリソースを大きく使用し、ロードアベレージが上昇する場合があります。

 ※ psコマンド等の表示名はkipmi0のようになります。
※ kipmiNスレッドの優先度は低く設定されていますので、サーバーのレスポンスには影響を与えません。
※ kipmi以外にサーバーのロードが少ない場合、CPU使用率がほぼ100%となります。
※ BMCのリセットはリモートKVMに接続できない、リモートKVMのコンソールが
  描画されないといったお問い合わせをいただいた際に弊社にて実施させて
  いただくことがある操作です。

事象発生時の表示例

topコマンド

top - 13:31:57 up 6 days, 19:05,  2 users,  load average: 0.99, 0.97, 0.90
Tasks: 130 total,   2 running, 128 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.0%us, 25.0%sy,  0.0%ni, 75.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  49403764k total,   666480k used, 48737284k free,   118000k buffers
Swap:  2047992k total,        0k used,  2047992k free,   130640k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
   77 root      39  19     0    0    0 R 100.0  0.0  53:09.63 kipmi0
    1 root      20   0 19356 1544 1224 S  0.0  0.0   0:00.86 init
<以下略>

load averageが継続して1に近い値となります。

%CPUがほぼ100%になります。

※ この例は4コアCPU搭載サーバーのアイドル状態です。

top - 13:35:39 up 6 days, 19:09,  2 users,  load average: 2.61, 1.40, 1.05
Tasks: 135 total,   6 running, 129 sleeping,   0 stopped,   0 zombie
Cpu(s):100.0%us,  0.0%sy,  0.0%ni,  0.0%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  49403764k total,   796672k used, 48607092k free,   120156k buffers
Swap:  2047992k total,        0k used,  2047992k free,   252572k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
12067 root      20   0  6512  188  104 R 100.0  0.0   0:31.43 stress
12065 root      20   0  6512  188  104 R 99.8  0.0   0:31.28 stress
12066 root      20   0  6512  188  104 R 99.8  0.0   0:31.42 stress
12068 root      20   0  6512  188  104 R 98.5  0.0   0:30.86 stress
   77 root      39  19     0    0    0 R  1.3  0.0  62:24.89 kipmi0
<以下略>

※ 他のプロセスが稼働している際にはkipmiのCPU使用率は下がります。

ps auxwwコマンド

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.0  0.0  19356  1544 ?        Ss   Jun27   0:00 /sbin/init
<略>
root        77  0.5  0.0      0     0 ?        RN   Jun27  54:14 [kipmi0]
<以下略>

STATがRNの場合、プロセスが稼働中です。

問題が発生していない場合はほぼ全ての時間SNとなりますのでRNが継続する場合 kipmiによる負荷上昇発生の疑いがあります。

ここでの%CPUはプロセス生存期間中の実行時間の割合を示すものです。

上記の現象が確認された場合、以下の操作で解消することが可能です。 なお、以下の操作の他、サーバーの再起動を行うことでも解消します。

操作手順

以下の例はCentOS6、root権限にて実行した例となります。
必要に応じてsuやsudoを実行し、root権限での操作を行う必要があります。

1ipmievdの停止

ipmievdが稼働している場合は停止します。

# /etc/init.d/ipmievd status
ipmievd (pid  XXXXX) is running...
# /etc/init.d/ipmievd stop
Shutting down ipmievd:                                     [  OK  ]

※ ipmievdはipmiのイベントをシステムイベントログやsyslogに出力するための
  デーモンです。必要に応じて対応完了後に起動してください。
  # /etc/init.d/ipmievd start

2モジュールのアンロード

ipmi_si,ipmi_devintfが読み込まれている場合はアンロードします。
# lsmod |grep ipmi
ipmi_devintf                     6587  2
ipmi_si                                 30960  1
ipmi_msghandler                 26634  2 ipmi_devintf,ipmi_si

# modprobe -r ipmi_si
# modprobe -r ipmi_devintf

3モジュールのロード

ipmi関連のモジュールをロードします。

# modprobe ipmi_devintf
# modprobe ipmi_si

※ 一部のOS、バージョンではipmi関連モジュールがカーネルに組込まれています。
  以下のように表示される場合はロード不要です。
  FATAL: Module ipmi_si not found.

4ipmitoolコマンドを実行します。

# ipmitool bmc info

※ 上記のbmc infoオプションは情報表示用のコマンドになります。
  サーバーの設定などを変更するものではありません。
※ 事象が解消されるとコマンドの実行直後からkipmiスレッドのCPU利用率が低下します。

5対応前にipmievdが稼働していた場合は起動します。

/etc/init.d/ipmievd start

なお、一旦解消した後に再度発生するような場合は 2分程度時間を置いてから再度上記の手順を実施ください。

事象解消時の表示例

topコマンド

top - 15:11:50 up 0 min,  1 user,  load average: 0.28, 0.06, 0.02
Tasks: 128 total,   2 running, 126 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.1%us,  0.1%sy,  0.0%ni, 99.5%id,  0.3%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:  49403764k total,   509120k used, 48894644k free,    91896k buffers
Swap:  2047992k total,        0k used,  2047992k free,    34100k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
   77 root      39  19     0    0    0 S  0.3  0.0   0:00.23 kipmi0
    1 root      20   0 19352 1532 1224 S  0.0  0.0   0:00.86 init
<以下略>

kipmiは定期的に立ち上がりますが%CPUの異常上昇はありません。

ps auxwwコマンド

USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
root         1  0.5  0.0  19352  1532 ?        Ss   15:11   0:00 /sbin/init
<略>
root        77  0.3  0.0      0     0 ?        SN   15:11   0:00 [kipmi0]
<以下略>

STATはSNとなります。

以上で操作は完了です。

お問い合わせ

上記をご確認いただいても問題が
解決しなかった場合、
下記リンク先よりお問い合わせください。

お問い合わせはこちら