簡介
本文說明如果Catalyst 9800與資料平面相關,CPU使用率預計較高的原因。
採用元件
背景資訊
與9800-40和9800-80不同,9800-CL和9800-L沒有硬體資料平面轉發晶片。因此,資料平面由軟體進程(運行在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核心分配給資料平面。通常只有核心7顯示高利用率(這是預期結果),因為運行在其上的ucode_pkt_PPE0進程。
以下是小型9800-CL OVA的範例,其中核心2和3專用於資料平面。
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傳輸流量所花費的時間。Idle基本上與PP(100% - PP)相反,PP是資料平面等待執行某事的時間。
資料路徑利用率
此控制面板的對等CLI命令為:
show platform hardware chassis active qfp datapath utilization sum