Contents

Introduction

Prerequisites

Requirements

Componentes Utilizados

Conventions

O que são os processos de EXEC e de EXEC virtual?

Como os processos Exec e Virtual Exec podem causar alta utilização da CPU?

Solucionar problemas de alta utilização da CPU no processo Exec

Solucionar problemas de alta utilização da CPU no processo Virtual Exec

Informações Relacionadas

Introduction

Este documento explica os processos Exec e Virtual Exec e como fazer Troubleshooting da alta utilização de CPU nesses processos.

Prerequisites

Requirements

A Cisco recomenda que você leia Troubleshooting de Alta Utilização da CPU em Cisco Routers antes de continuar com este documento.

Componentes Utilizados

Este documento não se restringe a versões de software e hardware específicas.

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. All of the devices used in this document started with a cleared (default) configuration. Se você estiver trabalhando em uma rede ativa, certifique-se de que entende o impacto potencial de qualquer comando antes de utilizá-lo.

Conventions

For more information on document conventions, refer to the Cisco Technical Tips Conventions.

O que são os processos de EXEC e de EXEC virtual?

O processo Exec no software Cisco IOS® é responsável pela comunicação nas linhas tty (console, auxiliar, assíncrona) do roteador. O processo Virtual Exec é responsável pelas linhas de vty (sessões de telnet).

Os processos Exec e Virtual Exec são processos de prioridade média, portanto, se houver outros processos que tenham uma prioridade mais alta (Alta ou Crítica), os processos de prioridade mais alta obtêm os recursos da CPU.

router#show process | i CPU|Exec

CPU utilization for five seconds: 0%/0%; one minute: 0%; five minutes: 0%

PID QTy       PC Runtime (ms)    Invoked   uSecs    Stacks TTY Process

22 M*         0         9644       1733    5564 9732/12000  0 Exec

46 ME  80468980           28          6    466610520/12000 66 Virtual Exec

Consulte O Comando show processes para obter uma explicação completa da saída desse comando.

Como os processos Exec e Virtual Exec podem causar alta utilização da CPU?

Se houver muitos dados transferidos através dessas sessões, a utilização da CPU para o processo Exec aumentará.

Isso ocorre porque quando o roteador deseja enviar um caractere simples através dessas linhas, ele usa alguns recursos da CPU:

- Para o console (Exec), o roteador usa uma interrupção por caractere.

A interrupção do console pode ser visualizada na saída do comando show stacks:

router#show stacks

Minimum process stacks:

Free/Size   Name

11516/12000  Router Init

9404/12000  Init

5520/6000   AIM_MIB_CREATION

5448/6000   RADIUS INITCONFIG

9728/12000  Virtual Exec

Interrupt level stacks:

Level    Called Unused/Size  Name

1    23035463   7008/9000  Network interfaces

2           0   9000/9000  Timebase Reference Interrupt

3           0   9000/9000  PA Management Int Handler

6        9791   8892/9000  16552 Con/Aux Interrupt

7  1334963882   8920/9000  MPC860 TIMER INTERRUPT

- Para a linha vty (Virtual Exec), a sessão telnet precisa criar um pacote TCP e enviar o(s) caractere(s) para o cliente telnet.

Solucionar problemas de alta utilização da CPU no processo Exec

Aqui estão listados alguns motivos possíveis para a alta utilização da CPU no processo Exec:

- Muitos dados são enviados através da porta de console.

Muitas mensagens de console geradas pelo roteador são uma causa possível.

1. Verifique se alguma depuração foi iniciada no roteador com o comando show debugging.

2. Desative o registro do console no roteador com (sem console de registro ).

3. Verifique se uma saída longa está impressa no console (por exemplo, um show tech-support ou um show memory ).

- Existe um bug no software Cisco IOS.

Use o Bug Toolkit (somente clientes registrados) para procurar bugs com esse sintoma na sua versão do software Cisco IOS.

- O comando exec está configurado para linhas assíncronas e auxiliares.

- Se uma linha tiver apenas tráfego de saída, o processo Exec deve ser desativado para esta linha, porque se o dispositivo (por exemplo, um modem) conectado a esta linha enviar alguns dados não solicitados, o processo Exec inicia nesta linha.

- Se o roteador for usado como servidor terminal (para telnet reverso para outros consoles de dispositivo), é recomendável que você configure no exec nas linhas conectadas ao console dos outros dispositivos. Os dados que retornam do console podem, caso contrário, iniciar um processo EXEC, que usa recursos da CPU.

Solucionar problemas de alta utilização da CPU no processo Virtual Exec

Aqui estão listados alguns motivos possíveis para a alta utilização da CPU no processo Virtual Exec:

- Um bug de software no software Cisco IOS

Use o Bug Toolkit (somente clientes registrados) para procurar bugs com este sintoma para sua versão do software Cisco IOS.

- Muitos dados são enviados através das sessões telnet.

A razão mais comum para a alta utilização da CPU no processo Virtual Exec é que dados demais são transferidos do roteador para a sessão telnet.

Isso pode acontecer quando comandos com saídas longas (como show tech-support, show memory, etc.) são executados a partir da sessão telnet.

A quantidade de dados transferidos através de cada sessão vty pode ser verificada com o comando show tcp:

router#show tcp vty 0

tty66, virtual tty from host 10.48.77.64

Connection state is ESTAB, I/O status: 1, unread input bytes: 1

Local host: 10.48.77.27, Local port: 23

Foreign host: 10.48.77.64, Foreign port: 11006

........

Datagrams (max data segment is 1460 bytes):

Rcvd: 525 (out of order: 0), with data: 53, total data bytes: 87

Sent: 366 (retransmit: 257, fastretransmit: 0), with data: 356, total data bytes:

158187

- Uma sessão Telnet suspensa leva a uma CPU alta devido ao processo Virtual Exec. Para limpar a sessão telnet suspensa, o dispositivo precisa ser recarregado na maioria dos casos. A outra maneira de limpar a sessão telnet suspensa é limpar o processo TCP. O processo TCP pode ser identificado com o comando show tcp brief como nesta saída:

Router#show tcp brief

TCB       Local Address           Foreign Address        (state)

02FA62D0  172.16.152.75.23        dhcp-171-69-104-.3013  ESTAB

Da saída acima, o processo TCP 02FA62D0 precisa ser limpo para limpar a sessão Telnet suspensa com o comando clear tcp tcb 0x02fa62d0 .

Informações Relacionadas

- Troubleshooting de Alta Utilização de CPU em Cisco Routers

- Suporte Técnico - Cisco Systems