Introdução
Este documento descreve os motivos pelos quais um uso alto da CPU é esperado para o Catalyst 9800 se ele diz respeito ao dataplane.
Componentes Utilizados
Informações de Apoio
O 9800-CL e o 9800-L não têm um chip de encaminhamento de dataplane de hardware, ao contrário do 9800-40 e do 9800-80. Portanto, o plano de dados é emulado por um processo de software (executado na CPU).
Uma particularidade desse dataplane emulado por software é que o processo do dataplane está quase sempre usando um núcleo de CPU a 100%, porque seu único trabalho é sondar constantemente a interface de rede para ver se um pacote chegou, mesmo quando há pouco ou nenhum tráfego de rede.
Sintomas
Às vezes, o Catalyst 9800 pode exibir uma alta utilização da CPU em determinados núcleos da CPU. É muito importante identificar se é realmente um problema de software de CPU alto ou um sintoma de dataplane que você pode ignorar.
A página inicial da IU da Web do 9800 tem um widget de tendência de CPU que mostra a utilização de cada núcleo da CPU. Esse widget também mostra a você a que o núcleo da CPU é dedicado.
Neste exemplo, você pode ver um OVA médio de 9800-CL (não alto throughput) implantado que tem 4 núcleos de plano de controle e 2 núcleos de planos de dados.
Nesse caso, se os núcleos 4 e 5 mostrarem alta utilização, você poderá ignorá-la.
Widget de utilização da CPU na interface do usuário da Web do 9800
Na CLI, o comando show platform software cpu alloc mostra a função atribuída a cada núcleo da CPU (como mostrado no widget anterior da IU da Web).
O comando show process cpu platform sorted mostra a utilização da CPU de cada núcleo e dos processos principais.
O processo ucode_pkt_PPE0 é o processo de software que emula o plano de dados e, portanto, esse processo pode ser ignorado da lista de processos que contribuem para a utilização da CPU.
O 9800-L atribui estaticamente os últimos 5 núcleos de CPU ao plano de dados. Normalmente, é apenas o núcleo 7 que mostra uma alta utilização (e é esperado) devido ao processo ucode_pkt_PPE0 que é executado nele.
Este é um exemplo de um pequeno OVA 9800-CL onde os núcleos 2 e 3 são dedicados ao dataplane.
O processo ucode_pkt_PPE0 mostra uma utilização muito alta, mas isso é normal e esperado mesmo quando há pouco tráfego na rede.
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
Como verificar a utilização do plano de dados
Você possivelmente se pergunta como verificar se o Catalyst 9800 está sobrecarregado com tráfego de rede se a utilização da CPU do dataplane está sempre alta. Existem widgets e comandos CLI específicos para isso.
Na interface do usuário da Web, vá para Monitor->Sistema->Utilização da CPU. À direita, você tem a utilização do Datapath.
A métrica mais importante é PP na forma de uma porcentagem. Neste exemplo, o caminho de dados está 99,56% ocioso e, portanto, está logicamente 0,44% ocupado com o processo de pacotes de rede, que é muito baixo.
PP significa Packet Processed (Pacote processado), RX representa o tempo gasto com o recebimento de tráfego e o tempo de transmissão de tráfego da TM. Ocioso é basicamente o oposto de PP (100% - PP), que é o tempo que o dataplane gasta esperando por algo para fazer.
Utilização de caminho de dados
O comando CLI equivalente desse painel é :
show platform hardware chassis active qfp datapath utilization sum