Table des matières

Introduction

Conditions préalables

Exigences

Composants utilisés

Informations générales

Surveillance de l'utilisation CPU

Surveillance de l'utilisation mémoire

Surveillance de l'utilisation

État dans show task resource

Dépannage

Pour l'utilisation CPU

Pour l'utilisation de mémoire

Pour l'utilisation des fichiers

Introduction

Ce document décrit les principes fondamentaux de l'utilisation du CPU/de la mémoire/des fichiers sur les systèmes StarOS et comment dépanner en cas de problème.

Conditions préalables

Exigences

Cisco vous recommande de prendre connaissance des rubriques suivantes :

- StarOs

Composants utilisés

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

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. Si votre réseau est en ligne, assurez-vous de bien comprendre l’incidence possible des commandes.

Informations générales

Le sous-système de gestion des ressources attribue un ensemble de limites de ressources pour chaque tâche du système. Il surveille l'utilisation des ressources de chaque tâche pour s'assurer qu'elle reste dans les limites. Si une tâche a dépassé ses limites, elle en informe les opérateurs via des déroutements Syslog ou SNMP (Simple Network Management Protocol). Ce document explique son fonctionnement et les journaux que vous devez collecter pour un dépannage ultérieur.

Vous pouvez vérifier les informations de base dans le résultat de l'interface de ligne de commande (CLI) show task resources.

Les limites de ressources allouées ne peuvent pas être modifiées par l'utilisateur.

Les limites de ressources allouées sont différentes en fonction de la version de StarOS.

Voici un exemple de SNMP qui se produit lorsque le problème est présent sur le système :

Mon Aug 26 11:32:19 2013 Internal trap notification 1221 (MemoryOver) facility sessmgr instance 16 card 1 cpu 0 allocated 204800 used 220392

Mon Aug 26 11:32:29 2013 Internal trap notification 1222 (MemoryOverClear) facility sessmgr instance 16 card 1 cpu 0 allocated 1249280 used 219608

Fri Dec 20 13:52:20 2013 Internal trap notification 1217 (MemoryWarn) facility npudrv instance 401 card 5 cpu 0 allocated 112640 used 119588

Fri Dec 20 14:07:26 2013 Internal trap notification 1218 (MemoryWarnClear) facility cli instance 5011763 card 5 cpu 0 allocated 56320 used 46856

Wed Dec 25 12:24:16 2013 Internal trap notification 1220 (CPUOverClear) facility cli instance 5010294 card 5 cpu 0 allocated 600 used 272

Wed Dec 25 12:24:16 2013 Internal trap notification 1216 (CPUWarnClear) facility cli instance 5010294 card 5 cpu 0 allocated 600 used 272

Wed Dec 25 17:04:56 2013 Internal trap notification 1215 (CPUWarn) facility cli instance 5010317 card 5 cpu 0 allocated 600 used 595

Wed Dec 25 17:05:36 2013 Internal trap notification 1216 (CPUWarnClear) facility cli instance 5010317 card 5 cpu 0 allocated 600 used 220

Surveillance de l'utilisation CPU

CPUWarn SNMP trap est généré lorsque l'utilisation du processeur du proclet atteint 90 % de son allocation.

Une fois CPUWarn généré, CPUOver est généré lorsque l'utilisation du processeur du proclet atteint plus de 50 % de son allocation à partir de la valeur avertie.

Si l'utilisation du processeur du proclet atteint son utilisation allouée avant que CPUWarn soit généré, alors CPUOver est généré.

CPUWarn/Over est effacé lorsque l'utilisation revient à 50 % de la valeur allouée.

Exemple :

Si l'allocation système pour l'installation est égale à 60, lorsque la valeur atteint 54, le système génère une interruption SNMP (CPUWarn).

Comme l'allocation système pour l'installation est de 60, lorsque l'utilisation du processeur du proclet atteint plus de 50 % de son allocation à partir de la valeur avertie, dans ce scénario, lorsque le système atteint la valeur 84 (54+30), le système génère une interruption SNMP (CPUOver).

Surveillance de l'utilisation mémoire

MemoryWarn est généré lorsque l'utilisation de la mémoire du proclet atteint son allocation.

MemoryOver est généré lorsque l'utilisation de la mémoire du proclet dépasse son allocation + 15 Mo, soit le double de son allocation.

MemoryWarn/MemoryOver sont effacés lorsque l'utilisation revient à 95 % de son allocation.

Exemple :

Si l'allocation système pour l'installation est de 60 Mo, alors pour toute valeur supérieure à 60 Mo, le système génère un déroutement SNMP MemoryWarn.

Comme l'allocation système pour l'installation est de 60 Mo, lorsque l'utilisation de la mémoire des tâches atteint 75 Mo, le système génère une interruption SNMP MemoryOver.

Surveillance de l'utilisation

Fichiers indique le nombre de fichiers ouverts ou le descripteur de fichier utilisé par le processus.

Aucune interruption SNMP n'est implémentée pour l'utilisation des fichiers, mais un message de journalisation est généré pour l'état over/clear.

Le journal de dépassement est généré lorsque l'utilisation de fichier de proclet atteint plus que son allocation + 10% de son allocation.

Le journal d'effacement est généré lorsque l'utilisation de fichier de proclet remonte à 90 % de son allocation.

2013-May-28+14:16:18.746 [resmgr 14517 warning] [8/0/4440 <rmmgr:80>

_resource_cpu.c:3558] [software internal system syslog] The task cli-8031369 is over its

open files limit. Allocated 2000, Using 2499

État dans show task resource

Le champ État dans le résultat de la commande show task resources CLI a des critères différents.

Dans l'image ci-dessous, AVERTISSEMENT est averti et ALARME est sur l'état.

Dépannage

Pour l'utilisation CPU

Lorsque le système commence à générer des déroutements SNMP liés au processeur, collectez les informations suivantes pendant le problème actif :

show task resources

Vérifier si un proclète passe à l'état d'avertissement/de dépassement

show task resource max

Vérifier l'utilisation maximale plutôt que l'utilisation actuelle

show snmp trap history

Vérifiez s'il y a un événement CPUWarn/Over

Remarque : cette commande est masquée/test. Reportez-vous à la documentation pour savoir comment activer et passer en mode Test dans StarOs.

Cette commande n'a pas d'impact sur le service et peut être exécutée en production.

show profile card <numéro de carte> cpu <numéro de cpu> depth <valeur>

Il s'agit du profileur d'arrière-plan.

Background Profiler est toujours exécution, même en production, avec une période d'échantillonnage fixe de 1 s.

Nous pouvons savoir quel PC consomme des ressources CPU, par carte/processeur/installation/instance, etc.

Il est recommandé de spécifier la profondeur plutôt que d'utiliser la valeur par défaut 1.(par exemple 4)

Pour l'utilisation de mémoire

Lorsque le système commence à générer des déroutements SNMP liés à la mémoire, collectez les informations suivantes pendant le problème actif :

show task resources

Vérifier si un proclète passe à l'état d'avertissement/de dépassement

show task resource max

Vérifier l'utilisation maximale plutôt que l'utilisation actuelle

show snmp trap history

Vérifiez s'il y a un événement MemoryWarn/Over

show logs

Vérifiez si un message d'avertissement/d'erreur a été signalé par resmgr.

Remarque : cette commande est masquée/test. Reportez-vous à la documentation pour savoir comment activer et passer en mode Test dans StarOs.

Cette commande n'a pas d'impact sur le service et peut être exécutée en production.

show messenger proclet facility <name> instance <x> tas

Vérifier l'utilisation du tas du proclet

Remarque : cette commande est masquée/test. Reportez-vous à la documentation pour savoir comment activer et passer en mode Test dans StarOs.

Cette commande n'a pas d'impact sur le service et peut être exécutée en production.

show messenger proclet facility <name> instance <x> segment de mémoire système

Vérifier les informations de tas système pour le processus conteneur

Conseil : prenez plusieurs sorties de commandes relatives au processeur toutes les 10 minutes et 4 sorties avant d'augmenter la demande de service vers le centre d'assistance technique.

Pour l'utilisation des fichiers

La limite de fichiers réelle au niveau du système d'exploitation est définie plus haut que la limite d'utilisation des fichiers dans StarOs.

Exemple pour la tâche Diamètre Proxy (diaproxy), la limite du niveau du système d'exploitation est 8192, le processus peut consommer jusqu'à 8192 alors que la limite des fichiers est définie sur 1000 à StarOS.

asr5500:card3-cpu0# ps -ef | grep diam

root 5934 4555 0 Jul02 ? 00:07:52 diamproxy --readypipe 8 --limit_mode 8 --card_number 3 --cpu_number 0 --master_spc 3

asr5500:card3-cpu0# cat /proc/5934/limits | grep open

Max open files     8192      8192     files

[local]asr5500-2# show task resources facility diamproxy all

Friday July 11 10:05:54 JST 2014

task cputime memory files sessions

cpu facility inst used allc used alloc used allc used allc S status

----------------------- --------- ------------- --------- ------------- ------

3/0 diamproxy 2 0.3% 90% 22.83M 250.0M 216 1000 -- -- - good

8/0 diamproxy 1 0.4% 90% 22.71M 250.0M 69 1000 -- -- - good

Il y a aussi une limite de niveau de CPU, veuillez la vérifier aussi et vous seriez bien tant que vous avez assez de disponible.

[local]ASR5500# show cpu info card 1 cpu 0

Card 1, CPU 0:

Status                : Active, Kernel Running, Tasks Running

Load Average          : 0.26, 0.39, 0.44 (1.78 max)

Total Memory          : 32768M (16384M node-0, 16384M node-1)

Kernel Uptime         : 3D 22H 11M

Last Reading:

CPU Usage All       : 0.1% user, 0.3% sys, 0.0% io, 0.0% irq, 99.6% idle

Node 0            : 0.1% user, 0.3% sys, 0.0% io, 0.0% irq, 99.5% idle

Node 1            : 0.1% user, 0.2% sys, 0.0% io, 0.0% irq, 99.7% idle

Processes / Tasks   : 185 processes / 29 tasks

Network             : 0.326 kpps rx, 0.912 mbps rx, 0.208 kpps tx, 3.485 mbps tx

File Usage          : 1792 open files, 3279141 available

Memory Usage        : 1619M 4.9% used (1209M 7.4% node-0, 409M 2.5% node-1)

Lorsque disponible devient inférieur à 256, ce message d'avertissement est généré :

event 14516

user_resource_cpu_cpu_low_files(uint32 card, uint32 cpu, uint32 used, uint32 remain)

"The CPU %d/%d is running low on available open files. (%u used, %u remain)"

warning

software internal system critical-info