Contenido

Introducción

Prerequisites

Requirements

Componentes Utilizados

Convenciones

Acceso espúreo

Causa

Manejo del software del IOS de Cisco

Verificación de errores de acceso espurios

Corrección de errores de acceso espurio

Errores de alineación

Causa

Verificación de errores de alineación

Corrección de errores de alineación

Interrupciones espurias

Información para Recopilar si Crea una Solicitud de Servicio TAC

Información Relacionada

Introducción

El propósito de este documento es describir tres tipos de errores -acceso espúreo, error de alineación e interrupción espúrea- que podrían encontrarse en dispositivos que ejecutan Cisco IOS® Software.

Si tiene el resultado de un comando show alignment de su dispositivo Cisco, puede utilizar Cisco CLI Analyzer para mostrar posibles problemas y soluciones. Para utilizar la herramienta Analizador Cisco CLI, debe ser un cliente registrado, iniciar sesión y tener JavaScript habilitado.

Prerequisites

Requirements

No hay requisitos específicos para este documento.

Componentes Utilizados

El comando no se admite en todas las plataformas (sólo en procesadores de computación de conjuntos de instrucciones reducidos [RISC]).

El comando show alignment se introdujo en 12.3(7)T y se ocultó en versiones anteriores.

Convenciones

Para obtener más información sobre las convenciones del documento, consulte Convenciones de Consejos Técnicos de Cisco.

Acceso espúreo

El acceso espúreo es el intento que realiza el software Cisco IOS para acceder a la memoria en una ubicación restringida. A continuación, se muestra un ejemplo de resultado de registro de sistema para un acceso falso:

%ALIGN-3-SPURIOUS: Spurious memory access made at 0x60968C44 reading 0x0

%ALIGN-3-TRACE: -Traceback= 60968C44 60269808 602389D8 00000000 00000000 00000000

00000000 00000000

Causa

Un acceso espúreo se produce cuando un proceso intenta leer de la región más baja de la memoria de 16 KB. Esta porción de la memoria se reserva y nunca debería accederse a ella. Una operación de lectura en esta región de la memoria se realiza, generalmente, por la devolución de un valor no existente en una función del software o, en otras palabras, cuando se pasa un puntero nulo a una función.

Manejo del software del IOS de Cisco

Según la plataforma, el software de Cisco IOS maneja los accesos espurios de manera diferente. En las plataformas donde esto es posible, el código de software del IOS de Cisco administra estos accesos inválidos devolviendo un valor de cero y registrando lo sucedido. Si esto no está admitido en la plataforma, entonces el router fallará con un error SegV. Dado que todo acceso espúreo es inadecuado, estos accesos siempre indican un error.

Verificación de errores de acceso espurios

Los accesos espurios se cuentan y registran, si fuera posible, por medio del software Cisco IOS. Esta información se encuentra disponible con el comando show alignment. La información de seguimiento es necesaria para determinar la causa y la corrección de los accesos espurios.

Nota: El comando show alignment está oculto e indocumentado. La ejecución del comando no es posible en todas las plataformas (sólo procesadores con conjuntos de instrucciones de complejidad reducida [RISC]). A continuación, se brinda una salida de muestra del comando show alignment:

Router#show alignment

Alignment data for:

GS Software (RSP-PV-M), Version 11.1(26.1)CC, EARLY DEPLOYMENT MAINTENANCE INTER

IM SOFTWARE

Compiled Thu 27-May-99 20:48 by jjgreen

No alignment data has been recorded.

Total Spurious Accesses 167110746, Recorded 2

Address  Count  Traceback

0  10474  0x6012D488  0x6020FFB4 0x601D5CE0

0  49008  0x6012D488  0x6020D25C 0x6020E744 0x602106B4

Router#

Corrección de errores de acceso espurio

Los errores de acceso espurios siempre son causados por un error de funcionamiento del software de Cisco IOS. Para corregirlo, actualice a la última versión de su serie de versiones (por ejemplo, si está ejecutando Cisco IOS Software Release 11.2(14), actualice a la última imagen 11.2(x). Si esto no soluciona el problema o si no es posible actualizar el router, contáctese con el TAC de Cisco. Al abrir un caso para informar accesos espúreos, incluya lo siguiente:

- salida del comando show alignment

- resultado del comando show tech-support

- registros relevantes del sistema

Errores de alineación

El siguiente es un ejemplo de resultado del registro del sistema para un error de alineación:

%ALIGN-3-CORRECT: Alignment correction made at 0x60262478 reading/writing 0x60A9FF5C

Causa

Los errores de alineación son causados por lecturas y escrituras mal alineadas. Por ejemplo, una lectura de dos bytes donde la dirección de memoria no es múltiplo de dos bytes es un error de alineación. Un error de programación del software ocasiona errores de alineación.

Verificación de errores de alineación

Los errores de alineación se informan en el registro y quedan grabados en el router. La salida del comando show alignment proporciona un registro de estos errores junto con pistas potencialmente útiles. Las pistas para los errores de alineación generalmente se pueden decodificar para revelar la función que causa los problemas de alineación.

Nota: El comando show alignment está oculto e indocumentado. El comando tampoco se soporta en todas las plataformas (sólo los routers de gama alta lo soportan). A continuación se muestra una respuesta de muestra del comando show alignment:

Router#show alignment

Alignment data for:

RSP Software (RSP-ISV-M), Version 11.3(3a), RELEASE SOFTWARE (fc1)

Compiled Fri 01-May-98 18:28 by phanguye

Total Corrections 6, Recorded 2, Reads 6, Writes 0

Initial Initial

Address    Count  Access  Type  Traceback

60EF3765   3      32bit   read  0x60262474 0x601AC594 0x601AC580

60EF3761   3      32bit   read  0x60262478 0x601AC594 0x601AC580

No spurious memory references have been recorded.

Router#

Corrección de errores de alineación

Los errores de alineación generalmente pueden ser corregidos por el software y, si es así, no causarán una caída. Sin embargo, la corrección de los errores de alineación consume recursos del procesador y puede dar lugar a una penalización del rendimiento. Si hay errores de alineación continuos, el router puede dedicar la mayor parte de su tiempo a corregirlos, lo que aumenta la utilización de la CPU. Estos errores se corrigen en la interrupción.

Interrupciones espurias

Las interrupciones espurias no son lo mismo que los accesos de memoria espurios.

Una interrupción espuria ocurre cuando se produce una interrupción innecesaria para un paquete ya procesado, posiblemente debido a una condición de carrera interna, o inicialización inadecuada de rutinas de manejo de interrupciones. No hay un impacto perceptible en el comportamiento del router debido a interrupciones espurias. Pueden ignorarse sin problemas mientras no haya una cantidad elevada y creciente de interrupciones falsas, junto con algunos paquetes descartados o un rendimiento menor. De lo contrario, se debe investigar la causa raíz.

El comando show align proporciona información sobre accesos de memoria espurios, pero no interrupciones espurias. La única información sobre interrupciones falsas que puede obtenerse del sistema se encuentra en el resultado de show stacks, el cual tiene un contador que registra cuántas ocurrieron.

Router#show stacks

Minimum process stacks:

Free/Size   Name

3692/4000   DHCPD Receive

4796/6000   Router Init

1904/4000   Init

3408/4000   RADIUS INITCONFIG

4228/5000   DHCP Client

2468/4000   Exec

Interrupt level stacks:

Level    Called Unused/Size  Name

3           0   3000/3000  Serial interface state change interrupt

4    54351439   1760/3000  Network interfaces

5       64181   2872/3000  Console Uart

Spurious interrupts: 29

Las interrupciones espurias pueden ser causadas por defectos de hardware o de software. La mayoría de las veces, esto no tiene ningún efecto secundario en el comportamiento esperado del router o del switch. Sólo se cuentan para fines de supervisión.

Un par de interrupciones falsas no causan mucha utilización de la CPU. Si este es el único síntoma que ocurre en un router o switch, y todo lo demás funciona como se espera (no hay descartes de paquetes, etc.), entonces las interrupciones falsas pueden ser ignoradas.

Los routers de Cisco basados en el procesador 68k (es decir, los Cisco 1000, 1600, 2500, 4000 y 7000 (RP)) se pueden configurar para generar un vaciado de indicadores si se alcanza un cierto umbral de interrupciones falsas.

Router(config)#exception ?

core-file           Set name of core dump file

crashinfo           Crashinfo collection

dump                Set name of host to dump to

flash               Set the device and erase permission

memory              Memory leak debugging

protocol            Set protocol for sending core file

region-size         Size of region for exception-time memory pool

spurious-interrupt  Crash after a given number of spurious interrupts

Router(config)#exception spurious-interrupt ?

<1-4294967295>  Spurious interrupt threshold

Para obtener más información sobre la generación de vaciado de indicadores, vea Creación de vaciados de memoria. Nuestro Centro de asistencia técnica puede solicitarle esta información en caso de degradación del rendimiento debido a interrupciones falsas. Si ese es el caso, debería haber un número alto y creciente de interrupciones espurias, junto con algunas caídas de paquetes o un rendimiento degradado.

Información para Recopilar si Crea una Solicitud de Servicio TAC

Si todavía necesita ayuda después de seguir los pasos de solución de problemas anteriores y desea crear una solicitud de servicio (sólo clientes registrados) con el TAC de Cisco, asegúrese de adjuntar la siguiente información a su caso para solucionar problemas de acceso espurios, errores de alineación e interrupciones espuriosas:

- Resolución de problemas realizada antes de crear el servicio solicitado

- show technical-support output (en modo de activación, si es posible)

- salida de show alignment (si aún no está incluida en la salida de show technical-support)

- el resultado o la captura de la consola del show log, si está disponible

Adjunte los datos recolectados a su pedido de servicio en formato de texto sin comprimir (.txt). Puede vincular información a su solicitud de servicio transfiriéndola mediante la Herramienta de solicitud de servicio TAC (sólo para clientes registrados). Si no puede acceder a la Herramienta de Solicitud de Servicio, puede adjuntar la información relevante a su solicitud de servicio enviando la información a attach@cisco.com con su número de solicitud de servicio en el asunto de su mensaje.

Nota: No recargue ni apague manualmente el router antes de recopilar la información anterior, a menos que sea necesario para resolver problemas de acceso espurios, errores de alineación e interrupciones espurias, ya que esto puede hacer que se pierda información importante necesaria para determinar la causa raíz del problema.

Información Relacionada

- Resolución de problemas por uso excesivo de las CPU de los routers de Cisco

- Soporte Técnico - Cisco Systems