O conjunto de documentação deste produto faz o possível para usar uma linguagem imparcial. Para os fins deste conjunto de documentação, a imparcialidade é definida como uma linguagem que não implica em discriminação baseada em idade, deficiência, gênero, identidade racial, identidade étnica, orientação sexual, status socioeconômico e interseccionalidade. Pode haver exceções na documentação devido à linguagem codificada nas interfaces de usuário do software do produto, linguagem usada com base na documentação de RFP ou linguagem usada por um produto de terceiros referenciado. Saiba mais sobre como a Cisco está usando a linguagem inclusiva.
A Cisco traduziu este documento com a ajuda de tecnologias de tradução automática e humana para oferecer conteúdo de suporte aos seus usuários no seu próprio idioma, independentemente da localização. Observe que mesmo a melhor tradução automática não será tão precisa quanto as realizadas por um tradutor profissional. A Cisco Systems, Inc. não se responsabiliza pela precisão destas traduções e recomenda que o documento original em inglês (link fornecido) seja sempre consultado.
A finalidade deste documento é descrever três tipos de erros (acessos artificiais, erros de alinhamento e interrupções artificiais) que podem ser encontradas nos dispositivos que executam o software Cisco IOS®.
Se você tiver a saída de um comando show alignment de seu dispositivo Cisco, poderá usar o Cisco CLI Analyzer para exibir possíveis problemas e correções. Para usar o Cisco CLI Analyzer, você deve ser um cliente registrado, estar conectado e com o JavaScript habilitado.
Não existem requisitos específicos para este documento.
O comando não é suportado em todas as plataformas (somente nos processadores RISC [redução do conjunto de instruções]).
O comando show alignment foi introduzido no 12.3(7)T e foi ocultado em versões anteriores.
Para obter mais informações sobre convenções de documento, consulte as Convenções de dicas técnicas Cisco.
O acesso artificial é uma tentativa do software Cisco IOS de acessar a memória em um local restrito. Veja abaixo um exemplo do registro do sistema para um acesso artificial:
%ALIGN-3-SPURIOUS: Spurious memory access made at 0x60968C44 reading 0x0 %ALIGN-3-TRACE: -Traceback= 60968C44 60269808 602389D8 00000000 00000000 00000000 00000000 00000000
O acesso artificial ocorre quando um processo tenta ler a parte mais baixa da região da memória de 16 KB. Essa parte da memória é reservada e nunca deve ser acessada. Uma operação de leitura nessa região da memória é geralmente causada quando um não existente é retornado para uma função no software ou, em outras palavras, quando um ponteiro nulo é transmitido para uma função.
Dependendo da plataforma, o Cisco IOS Software trata acessos artificiais de maneira diferente. Em plataformas em que isso é possível, o código do software da Cisco IOS controla estes acessos inválidos retornando um valor de zero e registrando o evento. Se não houver suporte para isso na plataforma, o roteador travará com um erro SegV. Como qualquer acesso artificial é inapropriado, o acesso artificial sempre aponta para um erro.
Acessos artificiais são contados e registrados, se possível, pelo Cisco IOS Software. Essas informações estão disponíveis com o comando show alignment. As informações de retorno de rastreamento são necessárias para determinar a causa e a correção dos acessos artificiais.
Observação: o comando show alignment está oculto e não documentado. O comando também não é suportado em todas as plataformas (apenas em processadores de Computação de conjunto de instruções reduzido [RISC]). Um exemplo de saída do comando show alignment é fornecido abaixo:
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#
Erros de acesso artificial são sempre causados por um erro do Cisco IOS Software. Para corrigir isso, atualize para a versão mais recente na versão de treinamento (por exemplo, se você estiver executando o Cisco IOS Software Release 11.2(14), atualize para a imagem 11.2(x) mais recente. Se isto não resolver o problema ou se não for possível atualizar o roteador, entre em contato com o TAC da Cisco. Ao abrir um caso para reportar acessos artificiais, inclua o seguinte:
saída do comando show alignment
saída do comando show tech-support
registros do sistema relevantes
Este é um exemplo da saída de registro do sistema para um erro de alinhamento:
%ALIGN-3-CORRECT: Alignment correction made at 0x60262478 reading/writing 0x60A9FF5C
Os erros de alinhamento são causados por leituras e gravações desalinhadas. Por exemplo, uma leitura de dois bytes na qual o endereço de memória não seja um múltiplo par de dois bytes é um erro de alinhamento. Erros de alinhamento são causados por um erro de software.
Os erros de alinhamento são reportados no log e registrados pelo roteador. A saída do comando show alignment fornece um registro desses erros juntamente com rastreamentos potencialmente úteis. Os rastreamentos para erros de alinhamento geralmente podem ser decodificados para revelar a função que causa os problemas de alinhamento.
Observação: o comando show alignment está oculto e não documentado. O comando também não é suportado em todas as plataformas (somente os roteadores avançados suportam isso). Um exemplo do comando show alignment é fornecido abaixo:
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#
Os erros de alinhamento geralmente podem ser corrigidos pelo software e, em caso afirmativo, não causarão um travamento. No entanto, corrigir erros de alinhamento consome recursos do processador e pode resultar em uma penalidade de desempenho. Se houver erros contínuos de alinhamento, o roteador poderá passar a maior parte do tempo corrigindo-os, aumentando a utilização da CPU. Esses erros são corrigidos na interrupção.
As interrupções artificiais não são as mesmas que os acessos artificiais à memória.
Uma interrupção artificial ocorre quando uma interrupção desnecessária é gerada para um pacote já processado, possivelmente devido a uma condição de corrida interna ou inicialização incorreta das rotinas de tratamento de interrupções. Não há nenhum impacto perceptível no comportamento do roteador devido a interrupções artificiais. Elas podem ser seguramente ignoradas desde que não haja um número cada vez maior de interrupções artificiais, junto com alguns pacotes perdidos ou com desempenho piorado. Caso contrário, a causa raiz deve ser investigada.
O comando show align fornece informações sobre acessos artificiais à memória, mas não interrupções artificiais. A única informação sobre interrupções artificiais que pode ser obtida no sistema é a saída das pilhas de exibição, em que há um contador que conta quantas ocorreram.
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
É possível que as interrupções artificiais sejam causadas por hardware ou software defeituoso. Na maioria das vezes, isso não tem efeito colateral no comportamento esperado do roteador ou switch. Só são contados para efeitos de monitorização.
Algumas interrupções artificiais não causam muita utilização da CPU. Se esse for o único sintoma que ocorre em um roteador ou switch e tudo o mais estiver funcionando conforme esperado (nenhum pacote cair e assim por diante), as interrupções artificiais podem ser ignoradas.
Os roteadores Cisco baseados no processador de 68 k (ou seja, o Cisco 1000, 1600, 2500, 4000 e 7000 (RP)) podem ser configurados para gerar um dump central se um certo limiar de interrupções artificiais for atingido.
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 obter mais informações sobre a geração do coredump, consulte Criação de lixos principais. Essas informações poderão ser solicitadas pelo Centro de Assistência Técnica se houver degradação de desempenho devido a interrupções artificiais. Se for esse o caso, deve haver um número cada vez maior de interrupções artificiais, juntamente com algumas quedas de pacotes ou desempenho degradado.
Se você ainda precisar de assistência após seguir as etapas de solução de problemas acima e quiser criar uma solicitação de serviço (somente clientes registrados) com o Cisco TAC, anexe as seguintes informações ao seu caso para Troubleshooting de acessos artificiais, erros de alinhamento e interrupções artificiais: |
---|
Anexe os dados coletados à sua requisição de serviço em um texto não compactado e simples (.txt). Você pode anexar informações à sua requisição de serviço ao fazer o upload dela com a Ferramenta TAC Service Request Tool (somente para clientes registrados). Se não conseguir acessar a Service Request Tool, você poderá anexar as informações relevantes à sua solicitação de serviço enviando-as para attach@cisco.com com o número da solicitação de serviço na linha de assunto da sua mensagem. Observação: não recarregue ou desligue manualmente o roteador antes de coletar as informações acima, a menos que seja necessário para solucionar problemas de acessos artificiais, erros de alinhamento e interrupções artificiais, pois isso pode causar a perda de informações importantes necessárias para determinar a causa raiz do problema. |