Routeurs : Routeurs de la gamme Cisco 7500

Utilisation du CPU élevée dans les processus Exec et Virtual Exec

18 octobre 2016 - Traduction automatique
Autres versions: PDFpdf | Anglais (31 décembre 2015) | Commentaires


Contenu


Introduction

Ce document explique les processus Exec et Virtual Exec, et comment dépanner une utilisation du CPU élevée dans ces processus.

Conditions préalables

Conditions requises

Cisco recommande que vous lisiez la section Dépannage de surutilisation de la CPU sur des routeurs Cisco avant que vous poursuiviez ce document.

Composants utilisés

Ce document n'est pas limité à des versions de matériel et de logiciel spécifiques.

Les informations présentées dans ce document ont été créées à partir de périphériques dans un environnement de laboratoire spécifique. Tous les périphériques utilisés dans ce document ont démarré avec une configuration effacée (par défaut). Si vous travaillez dans un réseau opérationnel, assurez-vous de bien comprendre l'impact potentiel de toute commande avant de l'utiliser.

Conventions

Pour plus d'informations sur les conventions de documents, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Quel est l'exécutif et les processus Virtual Exec ?

Le processus d'exécutif en logiciel de ½ du ¿  de Cisco IOSï est responsable de la transmission sur les lignes TTY (console, auxiliaire, asynchrones) du routeur. Le processus Virtual Exec est responsable des lignes vty (sessions de telnet).

L'exécutif et les processus Virtual Exec sont des processus de Support-priorité, ainsi s'il y a d'autres processus qui ont une haute priorité (élevée ou essentielle), les processus plus prioritaires obtiennent les ressources 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 

Référez-vous au show processes commandent pour une pleine explication de la sortie de cette commande.

Comment l'exécutif et les processus Virtual Exec peuvent-ils entraîner l'utilisation du CPU élevé ?

Si beaucoup de données sont transférées par ces sessions, l'utilisation de la CPU pour le processus Exec augmente.

La raison est que quand le routeur veut envoyer un caractère simple par ces lignes, le routeur utilise certaines ressources de la CPU :

  • Pour la console (Exec), le routeur utilise une interruption par caractère.

    L'interruption de console peut être vue dans la sortie de commande de 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 
    
    
  • Pour la ligne vty (Virtual Exec), la session de telnet doit construire un paquet TCP et envoyer les caractères au client de telnet.

Dépannez l'utilisation du CPU élevé dans le processus d'exécutif

Répertoriés ici sont quelques possibles raison pour l'utilisation du CPU élevé dans le processus d'exécutif :

  • Trop de données sont envoyées par le port de console.

    Trop de messages console générés par le routeur est une cause possible.

    1. Vérifiez si des débogages ont commencé sur le routeur avec la commande show debugging.

    2. Console de débronchement ouvrant une session le routeur avec (no logging console).

    3. Vérifiez si une longue sortie est imprimée sur la console (par exemple, un show tech-support ou un show memory).

  • Il y a une bogue en logiciel de Cisco IOS.

    Employez le Bug Toolkit (clients enregistrés seulement) pour rechercher des bogues avec ce symptôme dans votre version logicielle de Cisco IOS.

  • La commande exec est configurée pour les lignes asynchrones et auxiliaires.

    • Si une ligne a seulement le trafic sortant, le processus d'exécutif devrait être désactivé pour cette ligne, parce que si le périphérique (par exemple, un modem) relié à cette ligne envoie quelques données non sollicitées, les process starts d'exécutif sur cette ligne.

    • Si le routeur est utilisé comme serveur de terminaux (pour le telnet inverse à d'autres consoles de périphérique), il est recommandé que vous ne configurez aucun exécutif sur les lignes qui sont connectées à la console des autres périphériques. Sinon, les données qui reviennent de la console pourraient commencer un processus Exec, ce qui utilise des ressources de la CPU.

Dépannez l'utilisation du CPU élevé dans le processus Virtual Exec

Répertoriés ici sont quelques possibles raison pour l'utilisation du CPU élevé dans le processus Virtual Exec :

  • Une erreur de programmation en logiciel de Cisco IOS

    Employez le Bug Toolkit (clients enregistrés seulement) pour rechercher des bogues avec ce symptôme pour votre version logicielle de Cisco IOS.

  • Trop de données sont envoyées à travers les sessions de telnet.

    La raison la plus commune pour l'utilisation du CPU élevé dans le processus Virtual Exec est que trop de données sont transférées du routeur vers la session de telnet.

    Ceci peut se produire quand des commandes avec des longues sorties (telles que le show tech-support, le show memory, et ainsi de suite) sont exécutées de la session de telnet.

    La quantité de données transférées par chaque session vty peut être vérifiée avec la commande de 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 
    
  • Une session de telnet arrêtée mène à une CPU de haute due au processus Virtual Exec. Afin d'effacer la session de telnet arrêtée, le périphérique doit être rechargé dans la plupart des cas. L'autre manière d'effacer la session de telnet arrêtée est de dégagé le processus TCP. Le processus TCP peut être identifié avec le show tcp brief de commande comme dans cette sortie :

Router#show tcp brief
TCB       Local Address           Foreign Address        (state)
02FA62D0  172.16.152.75.23        dhcp-171-69-104-.3013  ESTAB

De la sortie ci-dessus, le processus TCP 02FA62D0 doit être effacé afin d'effacer la session de telnet arrêtée avec le clear tcp TCB 0x02fa62d0 de commande.


Informations connexes


Document ID: 41100