内容

概要

このドキュメントでは、データプレーンに関する場合に、Catalyst 9800で高いCPU使用率が予想される理由について説明します。

使用するコンポーネント

- 9800-CLまたは9800-L

背景説明

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によって、各CPUコアに割り当てられているロールが表示されます（前のWeb UIウィジェットに示されています）。

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の順に選択します。右側には、Datapath使用率が表示されます。

最も重要なメトリックは、パーセンテージ形式のPPです。この例では、データパスが99.56 %アイドル状態であるため、ネットワークパケットの処理で論理的に0.44 %ビジーとなり、非常に低くなります。

PPはPacket Processedを表し、RXはトラフィックの受信に費やされた時間、TMはトラフィックの送信に費やされた時間を表します。アイドル状態は基本的にPP(100% - PP)の反対で、データプレーンが何かをするのを待つ時間です。

データパス使用率