はじめに
このドキュメントでは、データプレーンに関する場合に、Catalyst 9800で高いCPU使用率が予想される理由について説明します。
使用するコンポーネント
背景説明
9800-CLおよび9800-Lには、9800-40および9800-80とは異なり、ハードウェアデータプレーン転送チップはありません。したがって、データプレーンはソフトウェアプロセス(CPU上で実行)によってエミュレートされます。
エミュレートされたこのソフトウェアのデータプレーンで特に注意すべき点は、データプレーンのプロセスでは、ほぼ常に100 %のCPUコアを使用していることです。その理由は、ネットワークインターフェイスを常時ポーリングして、ネットワークトラフィックがほとんどない場合でも、パケットが着信したかどうかを確認することだけです。
症状
Catalyst 9800では、特定のCPUコアのCPU使用率が高くなる場合があります。これが本当にCPUソフトウェアの使用率が高い問題なのか、またはデータプレーンの症状で無視できるのかを特定することが非常に重要です。
9800のWeb UIホームページには、各CPUコアの使用率を示すCPUトレンドウィジェットがあります。このウィジェットには、CPUコアが何に特化しているかも表示されます。
この例では、9800-CL中OVA(高スループットではない)が導入され、4つのコントロールプレーンコアと2つのデータプレーンコアを備えていることがわかります。
この場合、コア4と5で高い使用率が示されている場合は、無視してかまいません。
9800 Web UIのCPU使用率ウィジェット
CLIでは、コマンドshow platform software cpu allocにより(前のWeb UIウィジェットで示したように)各CPUコアに割り当てられたロールが表示されます。
show process cpu platform sortedコマンドを実行すると、各コアのCPU使用率と上位プロセスが表示されます。
プロセスucode_pkt_PPE0はデータプレーンをエミュレートするソフトウェアプロセスであるため、CPU使用率に貢献しているプロセスのリストからそのプロセスを無視できます。
9800-Lは、データプレーンに最後の5つのCPUコアを静的に割り当てます。これは通常、ucode_pkt_PPE0プロセスが実行されているため、高い使用率を示す(予期されている)コア7のみです。
ここでは、コア2と3がデータプレーン専用である小規模な9800-CL OVAの例を示します。
プロセスucode_pkt_PPE0は、非常に高い使用率を示しますが、これは正常な状態であり、ネットワークトラフィックがほとんどない場合でも正常に動作します。
myc9800-CL#show processes cpu platform sorted
CPU utilization for five seconds: 4%, one minute: 5%, five minutes: 6%
Core 0: CPU utilization for five seconds: 2%, one minute: 2%, five minutes: 1%
Core 1: CPU utilization for five seconds: 2%, one minute: 2%, five minutes: 2%
Core 2: CPU utilization for five seconds: 2%, one minute: 1%, five minutes: 2%
Core 3: CPU utilization for five seconds: 99%, one minute: 99%, five minutes: 99%
Pid PPid 5Sec 1Min 5Min Status Size Name
--------------------------------------------------------------------------------
20268 19784 99% 99% 99% S 271872 ucode_pkt_PPE0
28292 8568 1% 1% 1% S 1087088 linux_iosd-imag
19801 19314 1% 1% 1% S 250064 fman_fp_image
32539 32538 0% 0% 0% S 1692 inet_gethost
32538 31946 0% 0% 0% S 364 inet_gethost
32507 29493 0% 0% 0% S 5592 confd-startup.s
データプレーンの使用率を確認する方法
データプレーンのCPU使用率が常に高い場合、Catalyst 9800がネットワークトラフィックで過負荷になっているかどうかを確認する方法に疑問を感じる可能性があります。これには、特定のウィジェットとCLIコマンドがあります。
Web UIで、Monitor->System->CPU utilizationの順に選択します。右側には、データパス使用率があります。
注意:9800-L Web UIでは、現時点ではデータパス使用率は表示されません。機能拡張CSCwo11247
が送信されました。
最も重要なメトリックは、パーセンテージの形式でのPPです。この例では、データパスは99.56 %アイドル状態であるため、ネットワークパケットの処理で論理的に0.44 %ビジー状態になります。これは非常に低い状態です。
PPはPacket Processedの略語で、RXはトラフィックの受信に費やされた時間、TMはトラフィックの送信に費やされた時間を表します。アイドルは基本的にPP(100 % - PP)の反対で、データプレーンが何かをするのを待つ時間です。
データパス使用率
このダッシュボードの同等のCLIコマンドは次のとおりです。
WLC#show platform hardware chassis active qfp datapath utilization sum
CPP 0: 5 secs 1 min 5 min 60 min
Input: Total (pps) 10 10 10 2
(bps) 5760 9792 12760 2672
Output: Total (pps) 6 4 8 5
(bps) 19816 11808 47184 42536
Processing: Load (pct) 0 0 0 0
WLC#