Voz e comunicações unificadas : Cisco Unified Communications Manager (CallManager)

Servidor do CallManager: Use o PsList para pesquisar defeitos um problema do escape de memória

14 Outubro 2016 - Tradução por Computador
Outras Versões: Versão em PDFpdf | Inglês (22 Agosto 2015) | Feedback


Índice

Uso

Introdução

Este documento descreve como usar o utilitário de Lista Ps a fim debugar um problema do escape de memória em um servidor do CallManager da Cisco. Os sistemas operacionais de Windows apoiam a utilidade do monitoramento de desempenho que os administradores se usam para ver a informação detalhada sobre o processo CPU e a utilização de memória. Contudo, não captura a utilização de memória para os processos que começaram depois que a utilidade do monitoramento de desempenho começa. Os saques do PsList para encher esta diferença.

Nota: O PsList é um utilitário livre. Você pode transferi-lo de SysInternalsleavingcisco.com .

Pré-requisitos

Requisitos

A Cisco recomenda que você tenha conhecimento destes tópicos:

  • Sistemas operacionais de Windows

  • Cisco CallManager

  • Monitoramento de desempenho de Windows

Componentes Utilizados

As informações neste documento são baseadas nestas versões de software e hardware:

  • Cisco CallManager

As informações neste documento foram criadas a partir de dispositivos em um ambiente de laboratório específico. Todos os dispositivos utilizados neste documento foram iniciados com uma configuração (padrão) inicial. Se a sua rede estiver ativa, certifique-se de que entende o impacto potencial de qualquer comando.

Convenções

Consulte as Convenções de Dicas Técnicas da Cisco para obter mais informações sobre convenções de documentos.

Background

O comportamento padrão do PsList é mostrar a informação CPU-orientada para todos os processos que são executado atualmente no sistema local. A informação alistada para cada processo inclui o tempo onde o processo executa, a quantidade de tempo o processo executa em modos do núcleo e do usuário, e a quantidade de memória física que o OS atribui ao processo. O Switches dos dados da linha de comando permite que você ver a informação de processo orientada pela memória, as estatísticas da linha, ou todos os três tipos de dados.

Uso

Este é o formato da utilidade:

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

Esta lista fornece uma descrição detalhada de cada parâmetro:

  • -? — Indica as opções apoiadas e as unidades de medida usadas para valores de saída.

  • - d — Este interruptor tem estatísticas da mostra do PsList para todas as linhas ativas no sistema, e linhas dos grupos com seus próprios processo.

  • - m — Este interruptor tem a informação orientada pela memória da mostra do PsList para cada processo, um pouco do que o padrão da informação CPU-orientada.

  • - x — Com este interruptor, o PsList mostra o CPU, a memória, e a informação da linha para cada um dos processos especificados.

  • - t — Mostra a árvore dos processos.

  • - [n] s — Faz com que o PsList seja executado em um modo similar a um modo de atualização do gerenciador de tarefa. Pressione a chave de escape para especificar opcionalmente o número de segundos onde executa e aborte este modo.

  • - r n — Taxa de atualização do modo do gerenciador de tarefa nos segundos (o padrão é 1).

  • nome — Em vez de alistar todos os processos do corredor no sistema, este parâmetro reduz a varredura do PsList 2 aqueles processos que começam com o processo do nome. Por exemplo, o pslist exp indica estatísticas para todos os processos que começam com o “exp”. Isto inclui o explorador.

  • - u — Este parâmetro representa o username. Se você quer matar um processo em um sistema remoto e a conta que você está executando dentro não tem privilégios administrativos no sistema remoto, a seguir você deve entrar como um administrador que usa esta opção da linha de comando. Se você não inclui a senha com - a opção p, a seguir o PsList alertam-no para a senha sem ecoar sua entrada ao indicador.

  • - p — Este parâmetro representa a senha. Esta opção deixa-o especificar a senha de login na linha de comando de modo que você possa usar o PsList dos arquivos de lote. Se você especifica um nome da conta e omite - a opção p, PsList alerta-o interativamente para uma senha.

  • \ \ computador — Em vez de mostrar a informação de processo para o sistema local, Lista Ps exibe informação para o sistema do Windows 2000 NT especificado. Inclua - o interruptor u com um nome de usuário e senha para entrar ao sistema remoto se suas credenciais de segurança não o permitem obter a informação de contador do desempenho do sistema remoto.

  • pid — Em vez de alistar todos os processos do corredor no sistema, este parâmetro reduz a varredura do PsList ao processo que tem o processo especificado ID (PID). Por exemplo, o pslist 53 despeja estatísticas para o processo com PID 53.

PsList da instalação no servidor do CallManager da Cisco

Termine estas etapas para setup o PsList no servidor do CallManager da Cisco:

  1. Crie um arquivo de lote (memory.bat) com o bloco de notas ou um aplicativo similar. O índice do arquivo de lote contém:

    echo %date% %time% >>c:\cron\mem.txt
    c:\dnld\pslist.exe -m >>c:\cron\mem.tx
  2. Permita o serviço do task scheduler no servidor do CallManager da Cisco.

    1. Selecione o iniciar > programas > ferramentas administrativas > serviços.

    2. Clicar com o botão direito o task scheduler (veja a seta A em figura 1).

    3. Clique o começo (veja a seta B dentro) da caixa emergente.

      Figura 1: Serviços

      pslist-1.gif

  3. Programe seu arquivo de lote para ser executado periodicamente.

    Cisco recomenda um intervalo dos minutos 10. Você pode ajustar este assunto do intervalo à necessidade do problema. Toma somente alguns segundos para ser executado e consequentemente não aumenta a carga.

    1. Clique o começo, aponte aos ajustes, e clique o Control Panel.

    2. Fazer duplo clique tarefas programadas.

    3. Clique em Next.

    4. O clique consulta.

    5. Navegue para selecionar o programa para programar.

      Neste caso, o diretório é cron (considera a seta A em figura 2) e o programa é mem.txt (veja a seta B em figura 2).

      Figura 2: Selecione o programa para programar

      pslist-2.gif

    6. Clique aberto.

      Nota: Se você usa o assistente programado da tarefa, verifique propriedades avançadas abertas para ver se há esta tarefa quando eu clico o revestimento e clico então o revestimento para continuar.

    7. Datilografe um nome para esta tarefa.

    8. Clique diário.

    9. Clique em Next.

    10. Selecione o tempo e o dia onde você quer esta tarefa começar.

    11. Clique em Next.

    12. Incorpore o nome e a senha de um usuário. A tarefa é executado como se foi começada pelo usuário.

    13. Clique em Next.

    14. Verifique propriedades avançadas abertas para ver se há esta tarefa quando eu clico o revestimento e clico então o revestimento para continuar.

    15. Clique a programação.

    16. Clique avançado.

    17. Verifique a tarefa da repetição e especifique então o número de minutos ou de horas onde você quer a tarefa repetir.

    18. Clique a APROVAÇÃO duas vezes.

  4. Espere o uso para crescer.

  5. Recolha o log. Para cada um a corrida do PsList, isto é a saída:

    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 

    Nota: Desabilite o trabalho programado quando você termina. Se não, o log enche o disco.

  6. Use o script pslistmem.pl para analisar gramaticalmente o log e para prepend o número do exemplo a cada linha.

    #!/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
     }

    O script prepends o número 1 a todas as linhas no primeiro grupo de saídas do PsList. Prepends o número 2 ao segundo grupo e assim por diante (veja setas A, B e C em figura 2). Igualmente descasca linhas de cabeçalho. Isto permite que você classifique pelo PID e use a primeira coluna para manter as linhas na ordem temporal.

    Nota: A fim executar este script Perl, você precisa de transferir um intérprete Perl tal como ActivePerl de www.activestate.com. leavingcisco.com

  7. Invoque o script pslistmam.pl como esta saída mostra:

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

    Mem.txt e out.txt representam o arquivo de entrada e saída respectivamente para pslistmem.pl. Classifica a saída pelo nome de processo. No arquivo de saída (veja Figure3), a coluna 1 é o número do grupo prepended, a coluna 2 é o nome de processo, a coluna 3 é o processo ID, a coluna 4 é a memória virtual (VM), a coluna 5 é o grupo de funcionamento (WS), a coluna 6 é o contagem de byte privado, e a coluna 7 é o pico do contagem de byte privado. Se você olha as tendências do VM, da WS, e do contagem de byte privado, apresentam-no com uma tendência geral do consumo de memória por um processo específico.

    Figura 3: Saída para o script PsListMem.pl

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


Informações Relacionadas


Document ID: 66967