Routers : Routers de servicios de agregación Cisco ASR de la serie 1000

Guía del Troubleshooting de la memoria del 1000 Series Router ASR

17 Octubre 2016 - Traducción Automática
Otras Versiones: PDFpdf | Inglés (22 Agosto 2015) | Comentarios

Introducción

Este documento describe cómo marcar memoria del sistema y resolver problemas los asuntos relacionados de la memoria en el Routers de servicios de agregación Cisco ASR de la serie 1000 (ASR1K).

Contribuido por Vishnu Asok y Girish Devgan, ingenieros de Cisco TAC.

Prerrequisitos

Requisitos

Cisco recomienda que usted tiene conocimiento básico de estos temas:

  • Software Cisco IOS XE
  • ASR CLI

Nota: Usted puede ser que necesite una licencia especial para iniciar sesión al shell de Linux en el 1001 Series Router ASR.

Componentes Utilizados

La información que contiene este documento se basa en las siguientes versiones de software y hardware.

  • Todas las Plataformas ASR1K
  • Todas las versiones del Software Cisco IOS XE que soportan la plataforma ASR1K

La información que contiene este documento se creó a partir de los dispositivos en un ambiente de laboratorio específico. Todos los dispositivos que se utilizan en este documento se pusieron en funcionamiento con una configuración verificada (predeterminada). Si la red está funcionando, asegúrese de haber comprendido el impacto que puede tener cualquier comando.

Descripción del diseño de la memoria ASR

Con la mayor parte de las Plataformas del router basado en software, funcionan con a la mayoría de los procesos de la interna del software dentro de la memoria del ® del Cisco IOS. La plataforma ASR1K introduce una arquitectura de software distribuida que mueva el proceso IOS de los de muchas responsabilidades del operating system (OS). El IOS en esta arquitectura, que era previamente responsable de casi todas las operaciones internas, ahora funcionamientos como uno de muchos procesos de Linux. Esto permite que otros procesos de Linux compartan la responsabilidad de la operación del router. 

El ASR1K ejecuta IOS-XE, no el IOS tradicional. En IOS-XE, un componente de Linux funciona con el corazón, y el IOS se ejecuta como daemon, que en lo sucesivo se refiere como IOSd (IOS-daemon). Esto crea un requisito que la memoria esté partida entre el núcleo de Linux y el caso de IOSd.

La memoria que está partida entre IOSd y el resto del sistema se repara en el lanzamiento y no puede ser modificada. Para un sistema 4-GB, IOSd se afecta un aparato aproximadamente 2 GB, y para un sistema 8-GB, el IOSd se afecta un aparato aproximadamente 4 GB (con la Redundancia de software inhabilitada).

Puesto que el ASR1K tiene una arquitectura 64-bit, cualquier puntero que esté en cada estructura de datos en el sistema consume el doble la cantidad de memoria cuando está comparado a la CPU única las Plataformas tradicionales (8 bytes en vez de 4 bytes). Direccionamiento de 64 bits permite al IOS para superar la limitación en la memoria direccionable 2-GB del IOS, que permite que escale a millones de rutas. 

Nota: Asegúrese de que usted tenga memoria suficiente disponible antes de que usted active cualquier nueva función. Cisco recomienda que usted tiene por lo menos 8 GB DRAM si usted recibe la tabla de ruteo entera del Border Gateway Protocol (BGP) cuando la Redundancia de software se habilita para prevenir el agotamiento de la memoria.

Asignación de memoria bajo el pool del lsmpi_io

Utilizan al agrupamiento de memoria de la interfaz de la batea de memoria compartida de Linux (LSMPI) para transferir los paquetes del Forwarding Processor al Route Processor. Tallan a este agrupamiento de memoria en la inicialización del router en los buffers reservados, en comparación con el agrupamiento de procesador, donde IOS-XE afecta un aparato los bloques de memoria dinámicamente. En la plataforma ASR1K, el pool del lsmpi_io tiene poca memoria libre – generalmente menos de 1000 bytes – que sea normal. Cisco recomienda que usted inhabilita la supervisión del pool LSMPI por las aplicaciones de administración de red para evitar las alarmas falsas.

ASR1000# show memory statistics
           Head    Total(b)    Used(b)    Free(b)   Lowest(b)  Largest(b)
Processor 2C073008  1820510884  173985240  1646525644  1614827804  1646234064
lsmpi_io  996481D0  6295088     6294120    968     968     968

Si hay algunos problemas en la trayectoria LSMPI, el contador del fall del xmit del dispositivo aparece incrementar en esta salida de comando (una cierta salida omitida):

ASR1000-1# show platform software infrastructure lsmpi driver
LSMPI Driver stat ver: 3
Packets:
        In: 674572
       Out: 259861
Rings:
        RX: 2047 free    0    in-use    2048 total
        TX: 2047 free    0    in-use    2048 total
    RXDONE: 2047 free    0    in-use    2048 total
    TXDONE: 2047 free    0    in-use    2048 total

Buffers:
        RX: 7721 free    473  in-use    8194 total
Reason for RX drops (sticky):
    Ring full        : 0
    Ring put failed  : 0
    No free buffer   : 0
    Receive failed   : 0
    Packet too large : 0
    Other inst buf   : 0
    Consecutive SOPs : 0
    No SOP or EOP    : 0
    EOP but no SOP   : 0
    Particle overrun : 0
    Bad particle ins : 0
    Bad buf cond     : 0
    DS rd req failed : 0
    HT rd req failed : 0
Reason for TX drops (sticky):
    Bad packet len   : 0
    Bad buf len      : 0
    Bad ifindex      : 0
    No device        : 0
    No skbuff        : 0
    Device xmit fail : 0
    Device xmit rtry : 0
    Tx Done ringfull : 0
    Bad u->k xlation : 0
    No extra skbuff  : 0
<snip>

Uso de la memoria

El ASR1K comprende estos elementos funcionales en su sistema:

  • (RP) del Route Processor de las 1000 Series ASR
  • Las 1000 Series ASR integraron el procesador de servicio (el ESP)
  • Procesador de interfaz de las 1000 Series SPA ASR (SORBO)

Como tal, es requerido monitorear la utilización de la memoria por cada uno de estos procesadores en un entorno de producción.

Los procesadores de control funcionan con el Software Cisco IOS XE que consiste en un corazón Linux-basado y un conjunto común de programas de la utilidad del OS-nivel, que incluye el Cisco IOS que funciona con como proceso del usuario en el indicador luminoso LED amarillo de la placa muestra gravedad menor RP.

Verifique el uso de la memoria en IOS-XE

Ingrese el comando de la descripción del Control Processor del estatus del software de plataforma de la demostración para monitorear el uso de la memoria en el RP, el ESP, y el SIP. El Estado del sistema debe ser idéntico, con respecto a los aspectos tales como la configuración y el tráfico de la característica, mientras que usted compara el uso de la memoria. 

ASR1K# show platform software status control-processor brief 
<snip>

Memory (kB)
Slot Status   Total    Used (Pct)     Free (Pct) Committed (Pct)
RP0 Healthy  3907744  1835628 (47%)  2072116 (53%)  2614788 (67%)
ESP0 Healthy  2042668  789764 (39%)  1252904 (61%)  3108376 (152%)
SIP0 Healthy  482544   341004 (71%)   141540 (29%)   367956 (76%)
SIP1 Healthy  482544   315484 (65%)   167060 (35%)   312216 (65%)

Nota: La memoria confiada es una estimación de cuánto RAM usted necesita para garantizar que el sistema nunca esté fuera de la memoria (OOM) para esta carga de trabajo. Normalmente, la memoria de los overcommits del corazón. Por ejemplo, cuando usted ejecuta un malloc 1-GB, nada sucede realmente. Usted recibe solamente la memoria-en-demanda verdadera cuando usted comienza a utilizar esa memoria afectada un aparato, y solamente tanto como usted utiliza.

Cada procesador enumerado en la salida anterior pudo señalar el estatus como sano, la advertencia, o crítico, que es dependiente sobre la cantidad de memoria libre. Si los procesadores visualizan el estatus como advertencia o críticos uces de los, ingrese el comando del process<slot> del software de plataforma del monitor para identificar al contribuidor superior.

ASR1K# monitor platform software process ?
  0   SPA-Inter-Processor slot 0
  1   SPA-Inter-Processor slot 1
  F0  Embedded-Service-Processor slot 0
  F1  Embedded-Service-Processor slot 1
  FP  Embedded-Service-Processor
  R0  Route-Processor slot 0
  R1  Route-Processor slot 1
  RP  Route-Processor
  <cr>

A le puede ser que indiquen que fije el terminal-tipo antes de que usted pueda ejecutar el comando del proceso del software de plataforma del monitor:

ASR1K# monitor platform software process r0
Terminal type 'network' unsupported for command
Change the terminal type with the 'terminal terminal-type' command.

Fijan al tipo de terminal a la red por abandono. Para fijar el tipo de terminal apropiado, ingrese el comando terminal terminal-type:

 Terminal-tipo VT100 ASR1K#TERMINAL

Una vez que configuran al tipo de terminal correcto, usted puede ingresar el comando del proceso del software de plataforma del monitor (una cierta salida omitida):

ASR1000# monitor platform software process r0
top - 00:34:59 up  5:02,  0 users,  load average: 2.43, 1.52, 0.73
Tasks: 136 total,   4 running, 132 sleeping,   0 stopped,   0 zombie
Cpu(s):  0.8%us,  2.3%sy,  0.0%ni, 96.8%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
Mem:   2009852k total,  1811024k used,   198828k free,   135976k buffers
Swap:        0k total,        0k used,        0k free,  1133544k cached

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

25956 root      20   0  928m 441m 152m R  1.2 22.5   4:21.32 linux_iosd-imag
29074 root      20   0  106m  95m 6388 S  0.0  4.9   0:14.86 smand
24027 root      20   0  114m  61m  55m S  0.0  3.1   0:05.07 fman_rp
25227 root      20   0 27096  13m  12m S  0.0  0.7   0:04.35 imand
23174 root      20   0 33760  11m 9152 S  1.0  0.6   1:58.00 cmand
23489 root      20   0 23988 7372 4952 S  0.2  0.4   0:05.28 emd
24755 root      20   0 19708 6820 4472 S  1.0  0.3   3:39.33 hman
28475 root      20   0 20460 6448 4792 S  0.0  0.3   0:00.26 psd
27957 root      20   0 16688 5668 3300 S  0.0  0.3   0:00.18 plogd
14572 root      20   0  4576 2932 1308 S  0.0  0.1   0:02.37 reflector.sh
<snip>

Nota: Para clasificar la salida en el orden descendente de uso de la memoria, presione el mayús + el M.

Verifique el uso de la memoria en IOSd

Si usted nota que el proceso del linux_iosd-imag celebra inusualmente una gran cantidad de una memoria en la salida del comando active rp del proceso del software de plataforma del monitor, céntrese sus esfuerzos por Troubleshooting en el caso de IOSd. Es probable que un proceso específico en el hilo de IOSd no libere para arriba la memoria. Resuelva problemas los asuntos relacionados de la memoria en el caso de IOSd la misma manera que usted resuelve problemas cualquier Plataformas basada en software de la expedición, tal como el Cisco 2800, 3800, o las 3900 Series.

ASR1K# monitor platform software process rp active
PID USER   PR  NI VIRT  RES  SHR S %CPU %MEM TIME+  COMMAND
25794 root  20  0 2929m 1.9g 155m R 99.9 38.9 1415:11 linux_iosd-imag
23038 root   20  0 33848 13m  10m S  5.9  0.4  30:53.87 cmand
9599 root   20  0  2648 1152 884 R  2.0  0.0  0:00.01 top
<snip>

Ingrese el comando clasificado show process memory para identificar el proceso del problema:

ASR1000# show process memory sorted
Processor Pool Total: 1733568032 Used: 1261854564 Free: 471713468
lsmpi_io Pool Total: 6295088 Used: 6294116 Free: 972

PID TTY  Allocated   Freed       Holding    Getbufs    Retbufs  Process

522  0 1587708188  803356800   724777608  54432      0        BGP Router
234  0 3834576340 2644349464  232401568  286163388  15876  IP RIB Update
0    0  263244344   36307492  215384208  0          0        *Init

Nota: Abra un caso TAC si usted requiere la ayuda para resolver problemas o identificar si el uso de la memoria es legítimo.

Verifique la utilización de TCAM en un ASR1K

La Clasificación de tráfico es una de la mayoría de las funciones básicas encontradas en el Routers y el Switches. Muchas aplicaciones y características requieren que los dispositivos de infraestructura proporcionen estos Servicios diferenciados para diversos usuarios basados en los requisitos de calidad. El proceso de la Clasificación de tráfico debe ser rápido, para no degradar la producción del dispositivo grandemente. La plataforma ASR1K utiliza la 4ta generación de para este propósito del Ternary Content Addressable Memory (TCAM4).

Para determinar el número total de células TCAM disponibles en la plataforma, y el número de entradas libres que siga habiendo, ingrese este comando:

ASR1000# show platform hardware qfp active tcam resource-manager usage 

Total TCAM Cell Usage Information
----------------------------------
Name                        : TCAM #0 on CPP #0
Total number of regions     : 3
Total tcam used cell entries : 65528
Total tcam free cell entries : 30422
Threshold status            : below critical limit

Nota: Cisco recomienda que usted marca siempre el estatus del umbral antes de que usted realice cualquier cambio a las directivas de las listas de acceso o del Calidad de Servicio (QoS), de modo que el TCAM tenga suficientes células libres disponibles para programar las entradas.

Si el Forwarding Processor se ejecuta críticamente bajo en las células libres TCAM, el ESP pudo generar los registros similares a ésos mostrados abajo y pudo causar un crash. Si no hay Redundancia, éste da lugar a la interrupción raffic.

%CPPTCAMRM-6-TCAM_RSRC_ERR: SIP0: cpp_sp: Allocation failed because of insufficient
TCAM resources in the system.

%CPPOSLIB-3-ERROR_NOTIFY: SIP0: cpp_sp:cpp_sp encountered an error -
Traceback=1#s7f63914d8ef12b8456826243f3b60d7 errmsg:7EFFC525C000+1175

Verifique la utilización de la memoria en QFP

Además de memoria física, hay también memoria asociada al procesador del flujo de Quantum (QFP) ASIC que se utiliza para remitir las estructuras de datos, que incluye los datos tales como directivas de la Base de información de reenvío (FIB) y de QoS. La cantidad de DRAM disponible para el QFP ASIC se repara, con los radios de acción de 256 MB, 512 MB y 1 GB, de dependiente sobre el módulo ESP.

Ingrese el comando statistics activo del exmem de la infraestructura del qfp del hardware de plataforma de la demostración para determinar el uso de la memoria del exmem. La suma de la memoria para IRAM y el DRAM se utiliza que da la memoria total QFP que es funcionando.

BGL.I.05-ASR1000-1# show platform hardware qfp active infra exmem statistics user

Type: Name: IRAM, CPP: 0
  Allocations  Bytes-Alloc  Bytes-Total  User-Name
  ------------------------------------------------------
  1            115200       115712       CPP_FIA
Type: Name: DRAM, CPP: 0
  Allocations  Bytes-Alloc  Bytes-Total  User-Name
  -----------------------------------------------------
  4            1344          4096         P/I
  9            270600        276480       CEF
  1            1138256       1138688      QM RM
  1            4194304       4194304      TCAM
  1            65536         65536        Qm 16

El IRAM es la memoria de la instrucción para el software QFP. En caso que se agote el DRAM, IRAM disponible puede ser utilizado. Si el IRAM se ejecuta críticamente bajo en la memoria, usted puede ser que vea este mensaje de error:

%QFPOOR-4-LOWRSRC_PERCENT: F1: cpp_ha: QFP 0 IRAM resource low - 97 percent depleted
%QFPOOR-4-LOWRSRC_PERCENT: F1: cpp_ha: QFP 0 IRAM resource low - 98 percent depleted 

Para determinar el proceso que consume la mayoría de la memoria, ingrese el comando user de las estadísticas del exmem del active del qfp del hardware de plataforma de la demostración infra:

ASR1000# show platform hardware qfp active infra exmem statistics user

Type: Name: IRAM, CPP: 0
  Allocations  Bytes-Alloc  Bytes-Total  User-Name
  ----------------------------------------------------
  1            115200       115712       CPP_FIA

Type: Name: DRAM, CPP: 0
Allocations  Bytes-Alloc  Bytes-Total  User-Name
  ----------------------------------------------------
  4          1344         4096        P/I
  9          270600       276480       CEF
  1          1138256      1138688     QM RM
  1          4194304      4194304     TCAM
  1          65536        65536        Qm 16


Document ID: 116777