2014-01-25 03:52 PM
IOS-XR において、パフォーマンス限界や、S/W 不具合等で CPU 使用率の高騰が発生した際、CPU 使用率が 25% や 50% 前後で固定された状態が継続する場合があります。
この症状は、IOS-XR がマルチコア CPU をサポートしており、多くのモジュールでマルチコア CPU が使用されていることに起因します。
※マルチコア CPU の場合でも、状況によっては 100% の CPU 使用率(High CPU) になることがあります。
CPU 使用率の確認方法と例
コマンドの実行例 |
---|
パターン1(負荷なしの例) RP/0/RP0/CPU0:XR#show processes cpu | inc util
RP/0/RP0/CPU0:XR#show processes cpu | inc util
RP/0/RP0/CPU0:XR#show processes cpu | inc util
RP/0/RP0/CPU0:XR#show processes cpu | inc util |
IOS-XR では、各プロセスの中にスレッドがあり、各スレッドが別の CPU コア上で動作しています。
以下の例では、4コア CPU の RP 上で動作する BGP プロセスの状況を show processes コマンドを使用して確認しています。TID の値から、 BGP プロセスの中に23個のスレッドが存在することが確認できます。CPU の値からは、各スレッドが 0~3 の 4 つのコアに振り分けられて動作していることが分かります。
BGP プロセスの詳細情報
コマンドの実行例 |
---|
RP/0/RSP0/CPU0:ASR9K#show processes bgp detail JID TID CPU Stack pri state TimeInState HR:MM:SS:MSEC NAME |
BGP プロセスの各スレッドの名前は show processes threadname <jid> にて確認できます。
※jid は show processes コマンドで確認できる Job Id を指定します。
BGP プロセスの各スレッドの名前
コマンドの実行例 |
---|
RP/0/RSP0/CPU0:ASR9K#show processes bgp threadname 1049 << show processes bgp で確認した jid を指定 JID TID ThreadName pri state TimeInState NAME |
例として、BGP プロセス内の bgp-router スレッドが CPU リソースを 100% 消費したとします。
bgp-router スレッド は TID(Thread ID) 14 なので、show processes bgp detail から CPU コア2 で動作していることが分かります。この状況で show processes cpu にて CPU 使用率を確認した場合は以下のようになります。
BGP プロセスの CPU 使用率
コマンドの実行例 |
---|
RP/0/RSP0/CPU0:ASR9K#show processes cpu CPU utilization for one minute: 25%; five minutes: 16%; fifteen minutes: 3% PID 1Min 5Min 15Min Process |
CPU 使用率は4つのコアの使用率を合計して計算する為、1つのコアで 100% 近いCPU 使用率になったとしても、この環境での CPU 使用率は 25% 程度となります。よって、マルチコアCPUの場合は、CPU 使用率を監視をしていたとしても High CPU 状態であるとには気づきにくいです。
※動作に問題はなくとも、25% や 50% の CPU 使用率が継続することで、問合せ頂くことがあります。
CPU のコア単位で CPU 使用率が確認できる ”run top_procs -D -i1" コマンドを使用すると、CPU コア2 のCPU リソースが 0 に近い(idle が少ない)ことが分かります。
※run コマンドは TAC から指示のあった場合以外は非サポートです。
CPU コア単位の CPU 使用率の確認
コマンドの実行例 |
---|
RP/0/RSP0/CPU0:ASR9K#run top_procs -D -i1 node0_RSP0_CPU0: 328 procs, 4 cpus, 5.08 delta, 359:54:21 uptime Memory: 8192 MB total, 6.303 GB free, sample time: Sat Jan 20 08:09:51 2014 cpu 0 idle: 99.30%, cpu 1 idle: 98.74%, cpu 2 idle: 0.56%, cpu 3 idle: 98.60%, total idle: 74.87%, kernel: 0.05% <snip> |
以上の理由で、IOS-XR でマルチコア CPU が搭載されたモジュールを使用されている場合、一つのプロセスが CPU 使用率 25% や 50% 前後で固定された状態が継続している場合は、CPU 全体の使用率が100% を継続していなくとも従来の High CPU 問題と同様にパフォーマンス限界や、S/W 不具合等の可能性があります。CPU 使用率について気になるようであれば TAC までお問い合わせください。
CRS-1/CRS-3/ASR9000 でサポートする RP と LC の CPU コア数については、下記ドキュメントに記載してあります。
IOS-XR: CRS-1/CRS-3/ASR9000 でサポートする RP/LC の CPU コア数
https://supportforums.cisco.com/ja/document/12067881
検索バーにキーワード、フレーズ、または質問を入力し、お探しのものを見つけましょう
シスコ コミュニティをいち早く使いこなしていただけるよう役立つリンクをまとめました。みなさんのジャーニーがより良いものとなるようお手伝いします