Voix et communications unifiées : Cisco Unified Communications Manager (CallManager)

Serveur CallManager : Utiliser PsList pour dépanner un problème de fuite de mémoire

17 décembre 2015 - Traduction automatique
Autres versions: PDFpdf | Anglais (22 août 2015) | Commentaires


Contenu


Introduction

Ce document décrit comment employer l'utilitaire de PsList afin de mettre au point un problème de fuite de mémoire sur un serveur Cisco CallManager. Les systèmes d'exploitation Windows prennent en charge l'utilitaire de moniteur de performances que les administrateurs les utilisent pour visualiser les informations détaillées au sujet de l'utilisation de processus de CPU et mémoire. Cependant, il ne capture pas l'utilisation de mémoire pour les processus qui ont commencé après que l'utilitaire de moniteur de performances commence. Le PsList sert à combler cette lacune.

Remarque: PsList est un utilitaire gratuit. Vous pouvez le télécharger de SysInternalsleavingcisco.com .

Conditions préalables

Conditions requises

Cisco vous recommande de prendre connaissance des rubriques suivantes :

  • Systèmes d'exploitation Windows

  • Cisco CallManager

  • Moniteur de performances de Windows

Composants utilisés

Les informations contenues dans ce document sont basées sur les versions de matériel et de logiciel suivantes :

  • Cisco CallManager

Les informations contenues dans ce document ont été créées à partir des périphériques d'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 votre réseau est opérationnel, assurez-vous que vous comprenez l'effet potentiel de toute commande.

Conventions

Pour plus d'informations sur les conventions utilisées dans ce document, reportez-vous à Conventions relatives aux conseils techniques Cisco.

Fond

Le comportement par défaut de PsList est d'afficher les informations centrales de traitement CPU pour tous les processus qui fonctionnent actuellement sur le système local. Les informations répertoriées pour chaque processus incluent le temps où le processus exécute, la durée le processus exécute dans le noyau et les modes utilisateurs, et la quantité de mémoire physique que le SYSTÈME D'EXPLOITATION assigne le processus. Les Commutateurs de ligne de commande te permettent pour visualiser les informations sur le processus orientées mémoire, des statistiques de thread, ou chacun des trois types de données.

Utilisation

C'est le format de l'utilitaire :

pslist [-?] [-d] [-m] [-x][-t][-s [n] [-r n]][\\computer [-u username] [-p password]] [name | pid]

Cette liste fournit une description détaillée de chaque paramètre :

  • - ? — Affiche les options prises en charge et les unités de la mesure utilisées pour des valeurs de sortie.

  • - d — Ce commutateur a des statistiques d'exposition de PsList pour tous les thread actifs sur le système, et groupe des thread avec leur propre processus.

  • - m — Ce commutateur a les informations orientées mémoire d'exposition de PsList pour chaque processus, plutôt que le par défaut des informations centrales de traitement CPU.

  • - x — Avec ce commutateur, PsList affiche la CPU, la mémoire, et les informations de thread pour chacun des processus spécifiés.

  • - t — Affiche l'arborescence des processus.

  • - s [n] — Fait s'exécuter PsList en mode semblable à un mode mise à jour de gestionnaire de tâches. Appuyez sur la touche ESCAPE pour spécifier sur option le nombre de secondes où il exécute et abandonnez ce mode.

  • - r n — Fréquence d'actualisation de mode de gestionnaire de tâches en quelques secondes (le par défaut est 1).

  • nom — Au lieu de répertorier tous les processus actifs dans le système, ce paramètre rétrécit le balayage de PsList à ces processus qui commencent par le processus de nom. Par exemple, l'exp de pslist affiche des statistiques pour tous les processus qui commencent par le « exp ». Ceci inclut l'explorateur.

  • - u — Ce paramètre représente le nom d'utilisateur. Si vous voulez détruire un processus sur un système distant et le compte que vous exécutez dedans n'a pas des privilèges d'administrateur sur le système distant, alors vous devez ouvrir une session en tant qu'administrateur utilisant cette option de la ligne de commande. Si vous n'incluez pas le mot de passe avec - l'option p, alors le PsList vous incite pour le mot de passe sans faire écho votre entrée à l'affichage.

  • - p — Ce paramètre représente le mot de passe. Cette option vous permet de spécifier le mot de passe de connexion sur la ligne de commande de sorte que vous puissiez utiliser PsList à partir des fichiers batch. Si vous spécifiez un nom du compte et omettez - l'option p, PsList vous incite en mode interactif pour un mot de passe.

  • \ \ ordinateur — Au lieu d'afficher les informations sur le processus pour le système local, PsList affiche les informations pour le système Windows 2000 NT spécifié. Incluez - le commutateur u avec un nom d'utilisateur et mot de passe pour ouvrir une session au système distant si vos qualifications de Sécurité ne te permettent pas pour obtenir les informations de compteur de représentation du système distant.

  • PID — Au lieu de répertorier tous les processus actifs dans le système, ce paramètre rétrécit le balayage de PsList au processus qui a l'ID de processus spécifié (PID). Par exemple, le pslist 53 vide des statistiques pour le processus avec PID 53.

Installation PsList sur le serveur Cisco CallManager

Terminez-vous ces étapes pour installer PsList sur le serveur Cisco CallManager :

  1. Créez un fichier batch (memory.bat) avec Notepad ou une application semblable. Le contenu du fichier batch contient :

    echo %date% %time% >>c:\cron\mem.txt
    c:\dnld\pslist.exe -m >>c:\cron\mem.tx
  2. Activez le service de programmateur de tâche sur le serveur Cisco CallManager.

    1. Start > Programs > Administrative Tools > Services choisi.

    2. Programmateur de tâche de clic droit (voir la flèche A sur le schéma 1).

    3. Cliquez sur le début (voir la flèche B dedans) de la case instantanée.

      Figure 1 : Services

      pslist-1.gif

  3. Programmez votre fichier batch pour s'exécuter périodiquement.

    Cisco recommande un intervalle de 10 minutes. Vous pouvez ajuster cet intervalle sujet au besoin de problème. Cela prend seulement quelques secondes pour fonctionner et donc n'augmente pas le chargement.

    1. Cliquez sur le début, indiquez des configurations, et cliquez sur le panneau de configuration.

    2. Tâches programmées par double clic.

    3. Cliquez sur Next (Suivant).

    4. Cliquez sur Browse.

    5. Naviguez pour sélectionner le programme pour programmer.

      Dans ce cas, le répertoire est cron (voyez que la flèche A dans le schéma 2) et le programme est mem.txt (voir la flèche B sur le schéma 2).

      Figure 2 : Programme choisi à programmer

      pslist-2.gif

    6. Cliquez sur Open.

      Remarque: Si vous utilisez l'assistant programmé de tâche, vérifiez les propriétés avancées ouvertes pour cette tâche quand je clique sur Finish et puis clique sur Finish pour continuer.

    7. Introduisez un nom pour cette tâche.

    8. Clic quotidien.

    9. Cliquez sur Next (Suivant).

    10. Sélectionnez le temps et le jour où vous voulez cette tâche de commencer.

    11. Cliquez sur Next (Suivant).

    12. Entrez le nom et le mot de passe d'un utilisateur. La tâche fonctionne comme si elle ont été commencées par l'utilisateur.

    13. Cliquez sur Next (Suivant).

    14. Vérifiez les propriétés avancées ouvertes pour cette tâche quand je clique sur Finish et puis clique sur Finish pour continuer.

    15. Programme de clic.

    16. Cliquez sur Advanced.

    17. Vérifiez la tâche de répétition et puis spécifiez le nombre de minutes ou d'heures où vous voulez la tâche de répéter.

    18. Cliquez deux fois sur OK.

  4. Attente l'utilisation à se développer.

  5. Recueillez le log. Pour chaque série de PsList, c'est la sortie :

    Process memory detail for EVOICE-R16-CM1:
    
    Name                Pid      VM      WS    Priv Priv Pk   Faults   NonP Page
    Idle                  0       0      16       0       0        1      0    0
    System                8    1676     224      24     164   562211      0    0
    SMSS                204    5256     376    1076    2760      886      1    6
    CSRSS               232   30880    2604    1556    1592     2333      7   61
    WINLOGON            256   35580    1296    7084    8800    16883     66   35
    SERVICES            284  127396   89808    4032    6636  6713985    622  122
    ..
    ..
    
    13:15:29.35 

    Remarque: Désactivez le travail planifié quand vous terminez. Autrement, le log remplit disque.

  6. Employez le script pslistmem.pl pour analyser le log et pour ajouter le nombre au début d'exemple à chaque ligne.

    #!/usr/bin/perl
     $inst=0; #init var to count number of instances
    $tinfo=""; #init var to store date/time info
    while($_ = <STDIN>){
     #if this line contains a timestamp like 11:11:11.11
     if (/(\d+:\d+:\d+.\d+)/){ 
      $inst++;     #increment the instance counter
      $tinfo=$_;   #save time/date to append to all rows of this instance
      next; # skip to next line of input
     }
     #if this line contains a word followed by at least 8 numbers
     if (/((\w)(\s)+(\d)+(\s)+(\d)+(\s)+(\d)+(\s)+(\d)+(\s)+(\d)+(\s)+(\d)+(\s)+(\d)+(\s)+(\d)+)/){
      tr/\r\n//d; #strip CR LF to keep the date/time on the same line
      print "$inst\t$_\t$tinfo"; # print instance counter, input line, 
       then date/time for this instance
      next; # skip to next line of input
     }

    Le script ajoute le numéro au début 1 à toutes les lignes dans le premier ensemble de sortie de PsList. Il ajoute le numéro au début 2 au deuxième positionnement et ainsi de suite (voir les flèches A, B et C sur le schéma 2). Il élimine également des lignes d'en-tête. Ceci te permet pour trier par PID et pour employer la première colonne pour maintenir les lignes dans la commande temporelle.

    Remarque: Afin d'exécuter ce script Perl, vous devez télécharger un interprète Perl tel qu'ActivePerl de www.activestate.com. leavingcisco.com

  7. Appelez le script pslistmam.pl comme cette sortie affiche :

    cat mem.txt | pslistmem.pl | sort -k 3 >out.txt

    Mem.txt et out.txt représentent le fichier d'entrée et sortie respectivement pour pslistmem.pl. Il trie la sortie par le nom du processus. Dans le fichier de sortie (voir le Figure3), la colonne 1 est l'ensemble ajouté au début, la colonne 2 est le nom du processus, la colonne 3 est l'ID de processus, la colonne 4 est le mémoire virtuelle (VM), la colonne 5 est l'espace d'exécution (WS), la colonne 6 est le nombre d'octets privé, et la colonne 7 est la crête du nombre d'octets privé. Si vous observez les tendances de la VM, du WS, et du nombre d'octets privé, elles vous présentent avec une tendance générale de la consommation de mémoire par un processus spécifique.

    Figure 3 : Sortie pour le script PsListMem.pl

    /image/gif/paws/66967/pslist-3.gif

Conversations connexes de la communauté de soutien de Cisco

Le site Cisco Support Community est un forum où vous pouvez poser des questions, répondre à des questions, faire part de suggestions et collaborer avec vos pairs.


Informations connexes


Document ID: 66967