Cómo solucionar problemas de alta dataplane CPU

Cómo solucionar problemas de alta dataplane CPU

542940
Created On 09/25/18 18:55 PM - Last Modified 03/26/21 16:40 PM


Symptom


A el número de factores puede hacer que las CPU del plan de datos aumenten o se ejecuten continuamente: un aumento repentino debido a la implementación de un nuevo servicio o recurso, o una acumulación con el tiempo debido a redes, segmentos y hosts conectados agregados. Estos factores y más pueden causar aumentos en la velocidad de paquetes, la utilización del búfer de paquetes, o una enorme cantidad de nuevas conexiones por segundo que conducen al plano de datos CPU a alcanzar un nivel crítico.

Aprenda a solucionar problemas de plan de datos CPU alto. En este artículo se muestran un par de formas de comprobar la carga real del plano de datos y ayudar a determinar el impacto potencial en la red.

Comprender el impacto del plan de datos alto CPU es importante: el uso de planes de datos altos CPU puede no presentar una causa inmediata de preocupación, pero ser consciente de lo que está causando consecuencias altas CPU y posibles le ayudará a responder adecuadamente. 

Varios factores que deben identificarse antes de tomar medidas:

  • ¿Hay algunos, todos o ningún tráfico a través de los firewall afectados?
  • ¿Los usuarios experimentan alta latencia, y si es así, latencia afecta todo el tráfico o sólo ciertas aplicaciones?
  • ¿Si se divulgan temas, están estos informes coincidiendo con tiempos específicos pico del día, a intervalos regulares, o en momentos totalmente al azar?


El primer paso es aislar dónde se está produciendo el problema de rendimiento:

  • Plano de datos ( DP ) CPU
  • Búferes de paquetes
  • Sesión
  • Plano de gestión ( MP )


Resolution


Cómo identificar un plan de datos alto CPU

Cuando un cliente notifica un problema de rendimiento, genere un archivo de soporte técnico mientras se produce el problema. Busque la cadena "---panio" en el registro dp-monitor (esta información se registra cada 10 minutos) o ejecute el comando show running resource-monitor desde el uso de CLI recursos para DP ver.

Mostrar el funcionamiento del monitor de recursos


Este comando se puede utilizar para revisar el uso del plano de CPU datos. Añadir un operador tiempo para reflejar un período de tiempo que desea revisar.

  • 'segundo' muestra los últimos 60 segundos de CPU uso en incrementos por segundo
  • 'minuto' muestra los últimos 60 minutos en incrementos de minutos y así sucesivamente
  • Si ningún operador de tiempo se utiliza, se listarán todas las vistas en una salida larga

> muestran que las estadísticas de monitoreo por día > monitor de recursos en ejecución > hora por hora monitorean estadísticas > los


atrasos de entrada muestran estadísticas
> estadísticas de monitoreo por minuto > estadísticas de monitoreo por segundo por segundo >
estadísticas de
monitoreo semanales


La salida real se verá similar a esto, pero puede diferir ligeramente dependiendo de la cantidad de planes de datos y núcleos que tenga su sistema.

> mostrar la ejecución del monitor de recursos

DP DP0

Recursos datos de muestreo (por segundo):

Esta primera sección muestra CPU la utilización por procesos que se ejecutan en el plano de datos

CPU muestreo de carga por grupo:
flow_lookup : 0%
flow_fastpath : 0%
flow_slowpath : 0%
flow_forwarding : 0%
flow_mgmt : 0%
flow_ctrl : 1%
nac_result : 0%
flow_np <1> : 0%
dfa_result : 0%
module_internal : 0%
aho_result : 0%
zip_result : 0%
pktlog_forwarding : 0%
lwm : 0%
flow_host : 1%

Esta parte de la salida muestra la utilización de núcleos individuales en el plano de datos.
Muchos núcleos que superan regularmente el 75% justifican una investigación.


CPUcarga (%) during last 60 seconds:
core  0  1  2  3  4  5  6  7  8  9  10  11
0  39 47 38 46 73 81 73 81 82 88  83
0  39 46 38 45 73 82 73 82 82 89  82
0  39 46 39 45 73 81 73 81 83 88  83
0  38 52 37 50 71 81 71 80 82 98  82
0  40 46 39 45 74 82 74 82 83 89  83
0  40 50 39 49 74 85 74 84 83 90  83
0  39 46 38 45 72 81 72 81 81 88  81
0  42 52 41 50 75 86 75 86 84 91  84
0  42 76 79 85 75 10075 100100100 85 >>> indicates actual highCPU
0  44 51 43 50 78 85 78 86 86 91  86
0  42 51 41 50 76 86 76 86 85 92  85
0  43 53 43 52 77 89 77 89 86 93  86
0 38 46 37 45 71 81 72 81 81 88 81
0 42 50 41 50 76 85 76 85 85 90 85
... corte para brevedad

Esta sección muestra la

utilización de la tabla de sesiones, que es el número máximo de sesiones activas soportadas por la plataforma.                  Cualquier valor superior al 80% justifica la investigación.

Utilización de recursos (%) durante los últimos 60 segundos:
sesión:
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0


Las siguientes 3 secciones muestran la utilización del búfer de paquetes.Los buffers de paquetes se utilizan para asegurarse de que no se pierdan paquetes mientras un paquete anterior todavía está siendo procesado por un núcleo o proceso. Cualquier valor por encima del 80% debe ser investigado.

búfer de paquetes:
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

paquete Descriptor:
0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
  

descriptor de paquetes (en chip):
2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2


Cosas que se pueden registrar en la salida:

  1. Compruebe la CPU carga durante los últimos 60 segundos. Si cualquier número está en o cerca de 100, entonces alto CPU es probablemente la causa del problema de rendimiento.
  2. Marque las secciones "búfer de paquetes" y "descriptor de paquetes". Si cualquier número está en o cerca de 100, después el problema es probablemente causado por quedarse sin búferes de paquetes.
  3. Compruebe la sección de sesión. Si algún número está cerca o por encima de 80, lo más probable es que el problema de rendimiento esté relacionado con la sesión.


Existen varios comandos que pueden ayudar a identificar por qué ciertas medidas están por encima del umbral en el monitor de recursos:

Mostrar información de sesión


Genera todos los datos relevantes para cuántas sesiones se admiten, cuántas están activas actualmente y le informará sobre la velocidad de paquetes, la nueva velocidad de establecimiento de conexión y el rendimiento. Si alguno de estos parámetros es excepcionalmente alto, pueden hacer que el plano de datos CPU aumente.

&gt; Mostrar info de sesión

target-dp: *.dp0
-------------------------------------------------------------------------------- Número de sesiones
admitidas: 262142
Número de sesiones activas: 3 < If this figure rises to the level of the supported sessions,
Número de sesiones TCP activas: 0 la plataforma está alcanzando la capacidad máxima.
Número de UDP sesiones activas: 1
Número de sesiones ICMP activas: 0
Número de sesiones BCAST activas: 0
Número de sesiones MCAST activas: 0
Número de sesiones de predicción activas: 0
Utilización de la tabla de sesiones: 0%
Número de sesiones creadas desde el arranque: 332481
Velocidad de paquetes: 28/s Una velocidad de paquetes alta inusual y repentina podría indicar un ataque DoS.
Rendimiento: 13 kbps
Nueva velocidad de establecimiento de conexión: 0 cps -------------------------------------------------------------------------------- tiempo de espera de sesión Si los valores de tiempos de espera son demasiado


agresivos o demasiado relajados, el sistema podría quedarse sin recursos.
TCP tiempo de espera predeterminado: 3600 segundos
TCP de tiempo de espera de la sesión antes de SYN-ACK recibir: 5 segundos
TCP de tiempo de espera de la sesión antes del apretón de manos de 3 vías: 10 segundos
TCP de tiempo de espera de sesión medio cerrado: 120 segundos
TCP de tiempo de espera de la sesión en TIME_WAIT: 15 segundos de
TCP sesión tiempo de espera no RST verificado: 30 segundos
UDP de tiempo de espera predeterminado: 30 segundos
ICMP de tiempo de espera predeterminado: 6 ss
otro tiempo de espera IP predeterminado: 30 ss tiempo de espera de
sesión del Portal cautivo: 30 ss
Tiempo de espera de sesión en estado de descarte:
TCP : 90 ss, UDP : 60 segs, otros IP protocolos: 60
ss -------------------------------------------------------------------------------- El envejecimiento acelerado de la
sesión: True Si se ha
desactivado el envejecimiento acelerado, algunas sesiones pueden permanecer activas en la tabla de sesiones
más tiempo del necesario y tomar recursos.

Umbral de envejecimiento acelerado: 80% de la utilización Factor de
escala: 2 X
-------------------------------------------------------------------------------- Configuración de sesión Si alguno de estos se ha

desactivado para solucionar problemas y no se ha vuelto a activar, pueden
consumir recursos adicionales para inspeccionar paquetes malformados que de otro modo
se descartarían.

TCP - Rechazar SYN no- primer paquete: Descarga de
Hardware sesión verdadera: Verdadero
firewall IPv6: True
Strict / suma de TCP IP comprobación: Verdadera velocidad de paquetes
ICMP inalcanzable: 200 pps
-------------------------------------------------------------------------------- Parámetros de escaneo de
goteo de aplicaciones:
Tiempo de espera para determinar el goteo de aplicaciones: 10 segs
Umbral de utilización de recursos para iniciar el análisis: 80%
Factor de escalado de análisis sobre el envejecimiento regular: comportamiento de sesión de 8
-------------------------------------------------------------------------------- cuando se alcanza el límite de
recursos: quitar Esto indica el comportamiento
de cuando ha alcanzado su límite extremo de agotamiento de firewall
recursos.

-------------------------------------------------------------------------------- velocidad
del bucket del token Pcap : 10485760
-------------------------------------------------------------------------------- paquetes de
mcast en cola pendientes máximos por sesión: 0
--------------------------------------------------------------------------------

 

estadísticas de dataplane piscina de depuración

Devuelve el estado de todos los búferes utilizados por el sistema y su estado.

  • El número de la izquierda indica cuánto búfer está disponible
  • El número de la derecha indica el tamaño total
  • Si el número de la izquierda baja a 0, el búfer se agota

&gt; estadísticas de piscina dataplane de depuración

Hardware Grupos
[ 0] Búferes de paquetes : 57223/57344 0x8000000030c00000
[ 1] Entradas de cola de trabajo : 229315/229376 0x8000000037c00000
[ 2] Búferes de salida : 1007/1024 0x800000000fc00000 [
3] DFA Resultado : 3995/4000 0x8000000039800000
4] Búferes de temporizador : 4096/4096 0x8000000039be8000
[ 5] PAN_FPA_LWM_POOL : 1024/1024 0x800000000fd00000
[ 6] ZIP Comandos : 1023/1024 0x800000000fd40000
[ 7] PAN_FPA_BLAST_PO : 1024/1024 0x800000000ff40000

Software Pools
[ 0] software packet buffer 0 ( 512): 32767/32768 0x8000000043b2a680
[ 1] software packet buffer 1 ( 1024): 32768/32768 0x8000000044b4a780
[ 2] software packet buffer 2 ( 2048): 81920/81920 0x8000000046b6a880
[ 3] software packet buffer 3 (33280): 20480/20480 0x8000000050bba980
[ 4] software packet buffer 4 (66048): 304/304 0x80000000795cea80
[ 5] Shared Pool 24 ( 24): 560000/560000 0x800000007a8f6780
[ 6] Shared Pool 32 ( 32): 530000/530000 0x800000007b7eaa80
[ 7] Shared Pool 40 ( 40): 70000/70000 0x800000007ca1cf00
[ 8] Shared Pool 192 ( 192): 1269999/1270000 0x800000007cd0cf80
[ 9] Shared Pool 256 ( 256): 140000/140000 0x800000008ba70880
[10] ZIP Results ( 184): 1024/1024 0x80000000a1827300
[11] CTD AV Block ( 1024): 32/32 0x80000000be43d380
[12] Regex Results (11544): 8000/8000 0x80000000be466100
[13] SSH Handshake State ( 6512): 64/64 0x80000000c580c680
[14] SSH State ( 3248): 512/512 0x80000000c5872480
[15] TCP host connections ( 176): 15/16 0x80000000c5a08e80

 

Ver delta de contador global filtro sí

Devuelve, a partir de la segunda vez que se emite el comando en adelante, una instantánea de los contadores globales desencadenados durante el período de tiempo entre la iteración actual y la anterior, y podría exponer números inusuales de paquetes descartados.


 

> Mostrar contador global filtro Delta sí

Contadores globales:
Tiempo transcurrido desde el último muestreo: 2.981 segundos

nombre de la categoría de gravedad de la tasa de valor descripción del aspecto

-------------------------------------------------------------------------------- pkt_recv 89 29 paquetes de paquetes de información pktproc Paquetes recibidos
pkt_recv_zero 87 29 paquetes de información pktproc Paquetes recibidos de QoS 0
pkt_sent 3 1 info paquetes pktproc Paquetes transmitidos
session_allocated 1 0 sesiones de recursos de sesión de información asignadas
session_freed 1 0 sesiones de recursos de sesión de información liberadas
session_installed 1 0 sesiones de recursos de sesión de información instaladas
flow_arp_pkt_rcv paquete de flujo de información 83 27 ARP recibió flow_host_pkt_rcv
2 0 mgmt paquetes de flujo de información recibidos del plano de control
flow_host_pkt_xmt 2 0 paquetes mgmt de flujo de información transmitidos al plano de control
flow_host_service_allow 2 0 flujo de información mgmt Sesión de administración de dispositivos permitido
appid_ident_by_icmp 1 0 info aplicación appid pktproc Aplicación identificada por tipo icmp
dfa_sw 2 0 info dfa pktproc El número total de dfa match utilizando software
aho_sw 1 0 info aho pktproc El uso total del software para AHO
ctd_ pkt_slowpath 2 paquetes de pktproc info ctd 2 0 procesados por slowpath
pkt_flow_np 87 29 recursos de paquetes de información Los paquetes entraron en la etapa de flujo del módulo np
pkt_flow_host 2 paquetes de información de recursos de paquetes introducidos en el host de la etapa de flujo del módulo
--------------------------------------------------------------------------------
Contadores totales mostrados: 16
--------------------------------------------------------------------------------


Algunos contadores comunes explicaron:

ContadorDescripción
pkt_recvpaquete recibido
session_allocatedsesión asignar
flow_ipfrag_recvtasa de recepción de ipfrag
dfa_swdfa a juego por sw
dfa_fpgadfa a juego por fpga
ctd_pkt_slowpathpkt procesado por ctd slowpath
aho_swaho por sw
aho_fpgaaho por fpga
log_traffic_cntrecuento de registros de tráfico
flow_fwd_l3_ttl_zeropaquetes caídos: IP TTL
fpga_pktpkt mantener por solicitud fpga.
Nota: Éste no es un contador acumulativo pero representa cuántos paquetes se están esperando FPGA actualmente.


    Ver sesión de estadísticas del sistema

    Muestra los valores agregados de velocidad de paquetes y rendimiento de todos los planes de datos de forma de panel en vivo, que se actualiza automáticamente


    Estadísticas del sistema: ('q' para salir, 'h' para obtener ayuda)

    El dispositivo está para arriba : 0 día 2 horas 34 minutos 57 seg
    Velocidad de paquetes : Rendimiento 32/s :
    92 Kbps
    Sesiones activas totales : 14
    Sesiones activas : TCP 8 Sesiones
    activas : UDP 4 Sesiones
    ICMP activas : 2

    Cambie para ver las "20 mejores aplicaciones" pulsando 'a' y atrás pulsando 's'

    Top 20 Estadísticas de aplicaciones: ('q' para salir, 'h' para obtener ayuda)

    Sistema virtual: vsys1
    application sessions packets bytes
    -------------------------------- ---------- ------------ ------------
    ssl 349 47051 53368023
    firefox-update 4 32503 31679603
    google-base 57 19879 17687367
    ms-update 30 2513 2413399
    tor 1 715 710161
    web-browsing 60 1140 588357
    ping2920 5840 572320
    windows-push-notifications 57 819 266737
    apt-get 6 662 260149
    dns728 1484 185056
    dhcp124 248 86800
    ms-spynet 3 71 45382
    ocsp 9 215 33311
    google-actualización 2 28 8624
    ntp 45 90 8100
    ipv6 2 64 5248
    sip5 5 2283
    ldap8 9 2241
    insuficiente-data 5 13 780
    icmp 6 6 520


    También es importante tener en cuenta que el tipo de tráfico y la complejidad en la configuración también pueden agregar a CPU la utilización. Por lo tanto, es importante mirar el patrón de tráfico para entender la aplicación potencial que causa la alta CPU utilización.

    Plano de gestión

    Compruebe el uso de recursos del plano de administración buscando "--- superior" en el mp-monitor.log o ejecutando el comando show system resources desde el CLI . Abajo está una salida de ejemplo de este comando:

    > mostrar recursos del sistema

    superior - 03:40:57 hasta 20 min, 0 usuarios, promedio de carga: 0.00, 0.01, 0.03

    Tareas: 116 en total, 1 carrera, 115 durmiendo, 0 detenidos, 0 zombies

    Cpu(s): 1.6%nosotros, 1.3%sy, 0.0%ni, 96.2%id, 0.5%wa, 0.0%hi, 0.4%si, 0.0%st

    Mem: 3635080k total, 2327864k utilizados, 1307216k gratis, 37772k buffers

    Swap: 2007992k total, 0k utilizado, 2007992k gratis, 1871932k almacenado en caché

     

      PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+ COMMAND

    1837 raíz 15 -5 18036 3508 2032 S 8 0.1 0:35.23 sysd

    1 raíz 20 0 1768 560 488 S 0.0 0:00.75 init

    2 raíz 20 0 0 0 S 0 0 0.0 0:00.00 kthreadd

    3 raíz RT 0 0 0 0 S 0 0.0 0:00.00 migración/0


    A continuación se indican que el uso de recursos en el plano de administración puede estar causando problemas.

    • %wa en la CPU línea es alta, esto indica que el plano de administración está esperando en io (en swap y enlazado a disco).
    • La memoria libre en la línea Intercambiar es alta.
    • CPU para los procesos de devrvr, mgmtsvr y appweb son altos.


    Análisis de patrones de tráfico

    Si los patrones de tráfico son la causa sospechosa del problema de rendimiento, solicite capturas de paquetes externas del tráfico de red al cliente. No se recomienda realizar la captura de firewall sí mismo, ya que puede no mostrar todo el tráfico especialmente si se descarga el tráfico.



    Actions
    • Print
    • Copy Link

      https://knowledgebase.paloaltonetworks.com/KCSArticleDetail?id=kA10g000000ClRTCA0&lang=es&refURL=http%3A%2F%2Fknowledgebase.paloaltonetworks.com%2FKCSArticleDetail

    Choose Language