Ce document décrit les causes de l'utilisation du CPU élevé sur les commutateurs de la gamme Cisco Catalyst 3750. Semblable aux routeurs de Cisco, les commutateurs emploient la commande show processes cpu pour identifier les causes de l'utilisation du CPU élevé. Cependant, en raison des différences en matière d'architecture et de mécanismes de transmission entre les commutateurs et les routeurs Cisco, le résultat type de la commande show processes cpu diffère considérablement. Ce document répertorie également quelques symptômes communs qui entraînent l'utilisation élevée du CPU sur le commutateur de la gamme Catalyst 3750.
Aucune exigence spécifique n'est associée à ce document.
Les informations contenues dans ce document sont basées sur les commutateurs Catalyst 3750.
The information in this document was created from the devices in a specific lab environment. All of the devices used in this document started with a cleared (default) configuration. If your network is live, make sure that you understand the potential impact of any command.
Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.
Avant d'étudier l'architecture de gestion des paquets CPU et le dépannage d'une utilisation CPU élevée, vous devez comprendre les différentes manières dont les commutateurs de transmission matériels et les routeurs logiciels sous Cisco IOS® utilisent le CPU. On pense souvent, à tort, que l'utilisation CPU élevée indique l'épuisement des ressources sur un périphérique et la menace d'un crash. Un problème de capacité est l'un des symptômes de l'utilisation élevée du CPU sur des routeurs Cisco IOS. Cependant, un problème de capacité n’est presque jamais un symptôme d’une surexploitation de CPU dans les commutateurs de transfert basés sur une architecture matérielle.
La première étape pour trouver la cause d’une surexploitation du CPU est de vérifier les notes de mise à jour de la version de Cisco IOS de votre commutateur Catalyst 3750 pour voir s’il ne s’agit pas d’une anomalie connue de l’IOS. Vous pourrez ainsi éliminer la possibilité d’une anomalie de l’IOS dans votre démarche de dépannage. Référez-vous à Notes de version des commutateurs de la gamme Cisco Catalyst 3750 pour la liste des notes de version pour les commutateurs Catalyst 3750.
Cette section traite de certains des problèmes courants d'utilisation élevée du CPU sur le commutateur Catalyst 3750.
L'une des raisons courantes de l'utilisation élevée du CPU est que le CPU du Catalyst 3750 est occupé avec la tempête de traitement des messages de congé IGMP (Internet Group Management Protocol). Si une pile de commutateurs Catalyst 3750 qui exécutent le logiciel Cisco IOS Version 12.1(14)EA1a est connectée à un autre commutateur, tel qu'un Cat6500 qui exécute CatOS, qui génère des requêtes IGMP basées sur MAC avec des options IP, le 3750 subit une utilisation CPU élevée dans le processus IGMPSN (surveillance). Ceci est le résultat des paquets de requête basés sur MAC qui bouclent dans la pile. Vous pouvez également voir un CPU élevé avec le processus de demande HRPC hl2mm. Si EtherChannel est configuré sur la pile Catalyst 3750 avec le logiciel Cisco IOS Version 12.1(14)EA1a, une tempête de messages IGMP Leave peut être créée.
Le Catalyst 3750 reçoit de nombreuses requêtes IGMP. Le compteur de requête IGMP commence alors à s'incrémenter de centaines par seconde. Cela entraîne une CPU élevée dans le commutateur Catalyst 3750. Référez-vous à l'ID de bogue Cisco CSCeg55298 (clients enregistrés uniquement) . Le bogue a été identifié dans le logiciel Cisco IOS version 12.1(14)EA1a et est corrigé dans le logiciel Cisco IOS versions 12.2(25)SEA et ultérieures. La solution permanente consiste à mettre à niveau vers la dernière version de Cisco IOS. La solution de contournement temporaire consiste à désactiver la surveillance IGMP sur la pile Catalyst 3750 ou à désactiver la requête basée sur MAC sur le commutateur connecté à la pile 3750.
Voici un exemple de résultat de la commande show ip traffic qui montre des paquets IP avec des options et des alertes mauvaises qui augmentent rapidement :
Switch#show ip traffic Rcvd: 48195018 total, 25628739 local destination 0 format errors, 0 checksum errors, 10231692 bad hop count 0 unknown protocol, 9310320 not a gateway 0 security failures, 10231 bad options, 2640539 with options Opts: 2640493 end, 206 nop, 0 basic security, 2640523 loose source route 0 timestamp, 0 extended security, 16 record route 0 stream ID, 0 strict source route, 10231 alert, 0 cipso, 0 ump 0 other Frags: 16 reassembled, 0 timeouts, 0 couldn't reassemble 32 fragmented, 0 couldn't fragment Bcast: 308 received, 0 sent Mcast: 4221007 received, 4048770 sent Sent: 25342014 generated, 20710669 forwarded Drop: 617267 encapsulation failed, 0 unresolved, 0 no adjacency 0 no route, 0 unicast RPF, 0 forced drop 0 options denied, 0 source IP address zero !--- Output suppressed.
La commande show processes cpu affiche des informations sur les processus actifs dans le commutateur et leurs statistiques d'utilisation du CPU correspondantes. Voici un exemple de sortie de la commande show processes cpu quand l'utilisation du CPU est normale :
switch#show processes cpu CPU utilization for five seconds: 8%/4%; one minute: 6%; five minutes: 5% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 384 32789 11 0.00% 0.00% 0.00% 0 Load Meter 2 2752 1179 2334 0.73% 1.06% 0.29% 0 Exec 3 318592 5273 60419 0.00% 0.15% 0.17% 0 Check heaps 4 4 1 4000 0.00% 0.00% 0.00% 0 Pool Manager 5 6472 6568 985 0.00% 0.00% 0.00% 0 ARP Input 6 10892 9461 1151 0.00% 0.00% 0.00% 0 IGMPSN !--- CPU utilization at normal condition. 7 67388 53244 1265 0.16% 0.04% 0.02% 0 CDP Protocol 8 145520 166455 874 0.40% 0.29% 0.29% 0 IP Background 9 3356 1568 2140 0.08% 0.00% 0.00% 0 BOOTP Server 10 32 5469 5 0.00% 0.00% 0.00% 0 Net Background 11 42256 163623 258 0.16% 0.02% 0.00% 0 Per-Second Jobs 12 189936 163623 1160 0.00% 0.04% 0.05% 0 Net Periodic 13 3248 6351 511 0.00% 0.00% 0.00% 0 Net Input 14 168 32790 5 0.00% 0.00% 0.00% 0 Compute load avgs 15 152408 2731 55806 0.98% 0.12% 0.07% 0 Per-minute Jobs 16 0 1 0 0.00% 0.00% 0.00% 0 HRPC hI2mm reque !--- Output suppressed.
Voici un exemple de sortie de la commande show processes cpu quand l'utilisation du CPU est élevée en raison du processus de surveillance IGMP :
switch#show processes cpu CPU utilization for five seconds: 8%/4%; one minute: 6%; five minutes: 5% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 384 32789 11 0.00% 0.00% 0.00% 0 Load Meter 2 2752 1179 2334 0.73% 1.06% 0.29% 0 Exec 3 318592 5273 60419 0.00% 0.15% 0.17% 0 Check heaps 4 4 1 4000 0.00% 0.00% 0.00% 0 Pool Manager 5 6472 6568 985 0.00% 0.00% 0.00% 0 ARP Input 6 10892 9461 1151 100 100 100 0 IGMPSN !--- Due to high CPU utilization. 7 67388 53244 1265 0.16% 0.04% 0.02% 0 CDP Protocol 8 145520 166455 874 0.40% 0.29% 0.29% 0 IP Background 9 3356 1568 2140 0.08% 0.00% 0.00% 0 BOOTP Server 10 32 5469 5 0.00% 0.00% 0.00% 0 Net Background 11 42256 163623 258 0.16% 0.02% 0.00% 0 Per-Second Jobs 12 189936 163623 1160 0.00% 0.04% 0.05% 0 Net Periodic 13 3248 6351 511 0.00% 0.00% 0.00% 0 Net Input 14 168 32790 5 0.00% 0.00% 0.00% 0 Compute load avgs 15 152408 2731 55806 0.98% 0.12% 0.07% 0 Per-minute Jobs 16 0 2874 0 100 100 100 0 HRPC hI2mm reque !--- Output suppressed.
Le tunnel GRE (General Routing Encapsulation) n'est pas pris en charge par les commutateurs Cisco Catalyst 3750. Même si cette fonctionnalité peut être configurée avec l'interface de ligne de commande, les paquets ne peuvent être ni commutés par le matériel, ni par le logiciel, ce qui augmente l'utilisation du processeur.
Remarque : seules les interfaces de tunnel DVMRP (Distance Vector Multicast Routing Protocol) sont prises en charge pour le routage multidiffusion dans le Catalyst 3750. Même pour cela, les paquets ne peuvent pas être commutés avec du matériel. Les paquets acheminés via ce tunnel doivent être commutés via le logiciel. Le plus grand nombre de paquets transférés via ce tunnel augmente l'utilisation du CPU.
Il n'existe aucune solution de contournement pour ce problème. Il s'agit d'une limitation matérielle des commutateurs de la gamme Catalyst 3750.
Si des commutateurs Catalyst 3750 sont connectés dans une pile, et si des modifications de configuration sont apportées à un commutateur, le processus de configuration en cours de hulc se réveille et génère une nouvelle copie de la configuration en cours. Ensuite, il envoie à tous les commutateurs de la pile. La nouvelle configuration en cours sollicite énormément le processeur. Par conséquent, l'utilisation du CPU est élevée lors de la création d'un nouveau processus de configuration en cours et lors du transfert des nouvelles configurations vers d'autres commutateurs. Cependant, cette utilisation élevée du CPU ne devrait exister que pendant le même temps que celui nécessaire à l'exécution de l'étape de configuration de construction de la commande show running-configuration.
Il n'est pas nécessaire de contourner ce problème. L'utilisation du processeur est normalement élevée dans ces situations.
Voici un exemple de sortie de la commande show processes cpu quand l'utilisation du CPU est élevée en raison du processus en cours d'exécution de hulc :
switch#show processes cpu CPU utilization for five seconds: 63%/0%; one minute: 27%; five minutes: 23% PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process 1 384 32789 11 0.00% 0.00% 0.00% 0 Load Meter 2 2752 1179 2334 0.73% 1.06% 0.29% 0 Exec 3 318592 5273 60419 0.00% 0.15% 0.17% 0 Check heaps 4 4 1 4000 0.00% 0.00% 0.00% 0 Pool Manager 5 6472 6568 985 0.00% 0.00% 0.00% 0 ARP Input 6 10892 9461 1151 0.00% 0.00% 0.00% 0 IGMPSN 7 67388 53244 1265 0.16% 0.04% 0.02% 0 CDP Protocol 8 145520 166455 874 0.40% 0.29% 0.29% 0 IP Background 9 3356 1568 2140 0.08% 0.00% 0.00% 0 BOOTP Server 10 32 5469 5 0.00% 0.00% 0.00% 0 Net Background 11 42256 163623 258 0.16% 0.02% 0.00% 0 Per-Second Jobs 12 189936 163623 1160 0.00% 0.04% 0.05% 0 Net Periodic 13 3248 6351 511 0.00% 0.00% 0.00% 0 Net Input 14 168 32790 5 0.00% 0.00% 0.00% 0 Compute load avgs 15 152408 2731 55806 0.98% 0.12% 0.07% 0 Per-minute Jobs 16 0 1 0 0.00% 0.00% 0.00% 0 HRPC h12mm reque 17 85964 426 201793 55.72% 12.05% 5.36% 0 hulc running !--- Output suppressed.
Une utilisation CPU élevée du processus d'entrée ARP (Address Resolution Protocol) se produit si le routeur doit émettre un nombre excessif de requêtes ARP. Les requêtes ARP pour la même adresse IP sont limitées à une requête toutes les deux secondes. Par conséquent, un nombre excessif de requêtes ARP doit provenir de différentes adresses IP. Cela peut se produire si une route IP a été configurée et pointe vers une interface de diffusion. Un exemple évident est une route par défaut, comme :
ip route 0.0.0.0 0.0.0.0 Fastethernet0/0
Dans ce cas, le routeur génère une requête ARP pour chaque adresse IP qui n'est pas accessible via des routes plus spécifiques, ce qui signifie qu'il génère une requête ARP pour presque chaque adresse sur Internet. Référez-vous à Spécification d'une adresse IP de tronçon suivant pour des routes statiques pour plus d'informations sur la façon de configurer l'adresse IP de tronçon suivant pour le routage statique.
Une quantité excessive de requêtes ARP peut également être causée par un flux de trafic malveillant qui analyse les sous-réseaux connectés localement. La présence d'un nombre très élevé d'entrées ARP incomplètes dans la table ARP est une indication d'un tel flux. Étant donné que les paquets IP entrants qui déclenchent des requêtes ARP doivent être traités, le dépannage de ce problème est essentiellement le même que le dépannage d'une utilisation CPU élevée dans le processus d'entrée IP.
Dans les dernières versions de Cisco IOS pour Catalyst 3750, les requêtes SNMP (Simple Network Management Protocol) sont traitées par le MOTEUR SNMP. Il est normal que le CPU soit élevé en raison de ce processus SNMP ENGINE. Le processus SNMP a une priorité faible et ne doit affecter aucune fonctionnalité sur le commutateur.
Référez-vous à IP Simple Network Management Protocol (SNMP) Causes High CPU Utilization pour plus d'informations sur l'utilisation élevée du CPU causée par le processus SNMP ENGINE.
Le gestionnaire SDM (Switch Database Management) des commutateurs de la gamme Catalyst 3750 gère les informations de commutation de couche 2 et de couche 3 qui sont conservées dans la TCAM (Ternary Content Addressable Memory). Les modèles SDM sont utilisés pour configurer les ressources système dans le commutateur afin d'optimiser la prise en charge de fonctionnalités spécifiques, qui dépendent de la façon dont le commutateur est utilisé sur le réseau. Les modèles SDM peuvent être sélectionnés afin de fournir une utilisation maximale du système pour certaines fonctions, ou d'utiliser le modèle par défaut afin d'équilibrer les ressources. Les modèles hiérarchisent les ressources système afin d'optimiser la prise en charge de ces types de fonctionnalités :
Routage : le modèle de routage optimise les ressources système pour le routage monodiffusion, généralement requis pour un routeur ou un agrégateur au centre d'un réseau.
VLAN : le modèle de VLAN désactive le routage et prend en charge le nombre maximal d'adresses MAC de monodiffusion. Cette option est généralement sélectionnée pour un commutateur de couche 2.
Accès : le modèle d'accès optimise les ressources système pour les listes de contrôle d'accès (ACL) afin de prendre en charge un grand nombre de listes.
Par défaut : le gabarit par défaut équilibre toutes les fonctions.
Il existe deux versions de chaque modèle : un modèle de bureau et un modèle d'agrégation.
Remarque : le modèle par défaut pour les commutateurs de bureau est le modèle de bureau par défaut. Le modèle par défaut du Catalyst 3750-12S est le modèle d'agrégation par défaut.
Sélectionnez un modèle SDM approprié qui offre une utilisation maximale du système pour la fonctionnalité utilisée. Un modèle SDM inapproprié peut surcharger le processeur et dégrader considérablement les performances du commutateur.
Émettez la commande show platform tcam use pour voir combien de TCAM a été utilisé et combien de TCAM est disponible.
Switch#show platform tcam utilization CAM Utilization for ASIC# 0 Max Used Masks/Values Masks/values Unicast mac addresses: 784/6272 12/26 IPv4 IGMP groups + multicast routes: 144/1152 6/26 IPv4 unicast directly-connected routes: 784/6272 12/26 IPv4 unicast indirectly-connected routes: 272/2176 8/44 IPv4 policy based routing aces: 0/0 0/0 IPv4 qos aces: 528/528 18/18 IPv4 security aces: 1024/1024 27/27 Note: Allocation of TCAM entries per feature uses a complex algorithm. The above information is meant to provide an abstract view of the current TCAM utilization
Si l'utilisation de la TCAM est proche du maximum pour l'un des paramètres, vérifiez si l'une des autres fonctions du gabarit peut être optimisée pour ce paramètre.
show sdm prefer access | default | dual-ipv4-and-ipv6 | routing | vlan
Switch# show sdm prefer routing "desktop routing" template: The selected template optimizes the resources in the switch to support this level of features for 8 routed interfaces and 1024 VLANs. number of unicast mac addresses: 3K number of igmp groups + multicast routes: 1K number of unicast routes: 11K number of directly connected hosts: 3K number of indirect routes: 8K number of policy based routing aces: 512 number of qos aces: 512 number of security aces: 1K
Afin de spécifier le modèle SDM à utiliser sur le commutateur, émettez la commande de configuration globale sdm prefer.
Remarque : le rechargement du commutateur est nécessaire pour utiliser le nouveau modèle SDM.
La mise en oeuvre du routage basé sur les politiques (PBR) dans les commutateurs Cisco Catalyst 3750 présente certaines limites. Si ces restrictions ne sont pas respectées, cela peut entraîner une utilisation élevée du CPU.
Vous pouvez activer PBR sur un port routé ou une interface SVI.
Le commutateur ne prend pas en charge les instructions de refus de route-map pour PBR.
Le trafic de multidiffusion n'est pas routé par stratégie. PBR s'applique uniquement au trafic de monodiffusion.
Ne correspondent pas aux listes de contrôle d’accès qui autorisent les paquets destinés à une adresse locale. PBR transfère ces paquets, ce qui peut entraîner une défaillance de la commande ping ou Telnet ou un battement du protocole de routage.
Ne pas faire correspondre les ACL avec les ACE de refus. Les paquets qui correspondent à un ACE de refus sont envoyés au processeur, ce qui peut entraîner une utilisation élevée du processeur.
Pour utiliser PBR, vous devez d'abord activer le modèle de routage avec la commande de configuration globale sdm prefer routing. PBR n'est pas pris en charge avec le VLAN ou le modèle par défaut.
Pour une liste complète, référez-vous aux Directives de configuration de PBR.
Vous pouvez obtenir des redirections ICMP abandonnées lorsqu'un VLAN (ou un port de couche 3) reçoit un paquet où l'IP source se trouve sur un sous-réseau, l'IP de destination sur un autre sous-réseau et le saut suivant se trouve sur le même VLAN ou segment de couche 3.
Voici un exemple :
Vous pouvez voir ce message dans show log :
51w2d: ICMP-Q:Dropped redirect disabled on L3 IF: Local Port Fwding L3If:Vlan7 L2If:GigabitEthernet2/0/13 DI:0xB4, LT:7, Vlan:7 SrcGPN:65, SrcGID:65, ACLLogIdx:0x0, MacDA:001a.a279.61c1, MacSA: 0002.5547.3bf0 IP_SA:64.253.128.3 IP_DA:208.118.132.9 IP_Proto:47 TPFFD:EDC10041_02C602C6_00B0056A-000000B4_EBF6001B_0D8A3746
Cela se produit lorsque le paquet est reçu sur le VLAN 7 avec l'IP source 64.253.128.3 et tente d'atteindre 208.118.132.9, l'IP de destination. Vous pouvez voir que le tronçon suivant configuré dans le commutateur (64.253.128.41, dans ce cas) se trouve également sur le même VLAN 7.
Révision | Date de publication | Commentaires |
---|---|---|
1.0 |
20-Dec-2005 |
Première publication |