はじめに
このドキュメントでは、データプレーンに関する場合に、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の順に選択します。右側には、データパス使用率が表示されます。
最も重要なメトリックは、パーセンテージ形式のPPです。この例では、データパスは99.56 %のアイドル状態であるため、ネットワークパケットの処理で論理的に0.44 %のビジー状態になります。これは非常に低い状態です。
PPはPacket Processedを表し、RXはトラフィックの受信に費やされた時間、TMはトラフィックの送信に費やされた時間を表します。アイドル状態は基本的にPP(100 % - PP)の反対で、データプレーンが何かをするのを待つ時間です。
データパス使用率
このダッシュボードの同等のCLIコマンドは次のとおりです。
show platform hardware chassis active qfp datapath utilization sum