Introducción
Este documento describe las razones por las que se espera un uso elevado de la CPU para el Catalyst 9800 si concierne al plano de datos.
Componentes Utilizados
Antecedentes
El 9800-CL y el 9800-L no tienen un chip de reenvío de plano de datos de hardware, a diferencia del 9800-40 y el 9800-80. Por lo tanto, el plano de datos es emulado por un proceso de software (que se ejecuta en la CPU).
Una particularidad de este plano de datos emulado por software es que el proceso del plano de datos casi siempre utiliza un núcleo de CPU al 100%, porque su único trabajo es sondear constantemente la interfaz de red para ver si ha llegado un paquete, incluso cuando hay poco o ningún tráfico de red.
Síntomas
El Catalyst 9800 a veces puede mostrar una alta utilización de la CPU en núcleos de CPU determinados. Es muy importante identificar si es realmente un problema de software de CPU elevado o un síntoma de plano de datos que puede ignorar.
La página de inicio de la interfaz de usuario web 9800 tiene un widget de tendencia de CPU que muestra la utilización de cada núcleo de CPU. Ese widget también muestra a qué se dedica el núcleo de la CPU.
En este ejemplo, puede ver un OVA medio 9800-CL (rendimiento no alto) implementado que tiene 4 núcleos de plano de control y 2 núcleos de planos de datos.
En este caso, si el núcleo 4 y 5 muestran una alta utilización, puede ignorarlo.
Widget de uso de CPU en interfaz de usuario web 9800
En la CLI, el comando show platform software cpu alloc muestra la función asignada a cada núcleo de CPU (como se muestra en el widget de interfaz de usuario web anterior).
El comando show process cpu platform sorted muestra la utilización de la CPU de cada núcleo y los procesos principales.
El proceso ucode_pkt_PPE0 es el proceso de software que emula el plano de datos y, por lo tanto, ese proceso se puede ignorar de la lista de procesos que contribuyen a la utilización de la CPU.
El 9800-L asigna estáticamente los últimos 5 núcleos de CPU al plano de datos. Por lo general, es solo el núcleo 7 el que muestra una alta utilización (y se espera) debido al proceso ucode_pkt_PPE0 que se ejecuta en él.
Este es un ejemplo de un pequeño OVA de 9800-CL donde el núcleo 2 y 3 están dedicados al plano de datos.
El proceso ucode_pkt_PPE0 muestra una utilización muy alta, pero esto es normal y se espera incluso cuando se produce poco tráfico de red.
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
Cómo verificar la utilización del plano de datos
Es posible que se pregunte cómo verificar si el Catalyst 9800 está saturado de tráfico de red si la utilización de la CPU del plano de datos es siempre alta. Hay widgets específicos y comandos CLI para esto.
En la interfaz de usuario web, vaya a Monitor->Sistema->Uso de CPU. A la derecha tiene la utilización de Datapath.
La métrica más importante es PP en forma de porcentaje. En este ejemplo, la ruta de datos está inactiva en un 99,56% y, por lo tanto, está ocupada lógicamente en un 0,44% con el proceso de paquetes de red, que es muy bajo.
PP significa Paquete procesado, RX representa el tiempo empleado en recibir tráfico y TM el tiempo empleado en transmitir tráfico. Inactivo es básicamente lo contrario de PP (100% - PP), es decir, el tiempo que el plano de datos pasa esperando algo que hacer.
Utilización de Datapath
El comando CLI equivalente de este panel es:
show platform hardware chassis active qfp datapath utilization sum