Голосовая связь и система унифицированных коммуникаций : Cisco Unified Communications Manager (CallManager)

Сервер CallManager: Использование PsList для устранения неполадок, связанных с проблемой утечки памяти

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Отзыв


Содержание


Введение

Этот документ описывает, как использовать служебную программу PsList для отладки проблемы утечки памяти на Cisco CallManager server. Операционные системы Windows поддерживают утилиту Performance Monitor, которую администраторы используют для просмотра подробных сведений о ЦПУ процесса и использовании памяти. Однако это не делает использования накопительного буфера для процессов, которые запустились после того, как утилита Performance Monitor запускается. PsList служит для заполнения этого разрыва.

Примечание: PsList является бесплатной служебной программой. Можно загрузить его от SysInternals leavingcisco.com.

Предварительные условия

Требования

Компания Cisco рекомендует предварительно ознакомиться со следующими предметами:

  • Операционные системы Windows

  • Cisco CallManager

  • Windows Performance Monitor

Используемые компоненты

Сведения, содержащиеся в данном документе, касаются следующих версий программного и аппаратного обеспечения:

  • Cisco CallManager

Сведения, представленные в этом документе, были получены от устройств, работающих в специальной лабораторной среде. Все устройства, описанные в этом документе, были запущены с чистой (стандартной) конфигурацией. В рабочей сети необходимо изучить потенциальное воздействие всех команд до их использования.

Условные обозначения

Дополнительные сведения об условных обозначениях см. в документе Условные обозначения технических терминов Cisco.

Общие сведения

Поведение по умолчанию PsList к ориентируемой на show cpu информации для всех процессов, которые в настоящее время работают на локальной системе. Информация, перечисленная для каждого процесса, включает время, которое процесс выполняет, период времени, который процесс выполняет в привилегированных и пользовательских режимах и сумме физической памяти, что ОС назначает процесс. Коммутаторы командной строки позволяют вам просматривать ориентируемый на память на информацию о процессе, статистику потока или все три типа данных.

Usage

Это - формат утилиты:

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

Этот список предоставляет подробное описание каждого параметра:

  • -? — Отображает поддерживаемые опции и единицы измерения, используемые для выходных значений.

  • -d — Этот коммутатор имеет PsList, показывают статистику для всех активных потоков в системе и потоков групп с их собственным процессом.

  • -m — Этот коммутатор имеет PsList, ориентируемый на show memory на информацию для каждого процесса, а не по умолчанию ориентируемой на ЦПУ информации.

  • X этим коммутатором PsList показывает ЦПУ, память и информацию о потоке для каждого из заданных процессов.

  • T дерево процессов.

  • -s [n] — PsList причин для выполнения в режиме, подобном менеджеру задач, обновляет режим. Нажмите Клавишу ESC для дополнительного определения кол-ва секунд, которое она выполняет, и прервите этот режим.

  • -r n — Скорость обновления режима менеджера задач в секундах (по умолчанию равняется 1).

  • name перечислить все рабочие процессы в системе, этот параметр сужает просмотр PsList к тем процессам, которые начинаются с процесса названия. Например, pslist exp отображает статистику для всех процессов, которые запускаются с "exp". Это включает Проводник.

  • -u — Этот параметр представляет имя пользователя. Если вы хотите уничтожить процесс на удаленной системе и учетной записи, вы выполняетесь в, не имеет администраторских привилегий на удаленной системе, то необходимо войти как администратор, использующий этот параметр командной строки. Если вы не включаете пароль с-p опцией, то PsList побуждает вас для пароля, не повторяя ввод к показу.

  • P параметр представляет пароль. Эта опция позволяет вам задавать пароль для входа на командной строке так, чтобы можно было использовать PsList от командных файлов. Если вы задаете учетное имя и опускаете-p опцию, PsList побуждает вас в интерактивном режиме для пароля.

  • \\computer — Вместо того, чтобы показать информацию о процессе для локальной системы, задан PsList отображает информацию для системы NT/Windows 2000. Включайте коммутатор-u с именем пользователя и паролем для входа в систему к удаленной системе, если учетные данные безопасности не разрешают вам получать информацию о счетчике производительности из удаленной системы.

  • pid — Вместо того, чтобы перечислить все рабочие процессы в системе, этот параметр сужает просмотр PsList к процессу, который имеет ID заданного процесса (PID). Например, pslist 53 формирует дамп статистики для процесса с PID 53.

PsList настройки на Cisco CallManager server

Выполните эти шаги для устанавливания PsList на Cisco CallManager server:

  1. Создайте командный файл (memory.bat) с Блокнотом или подобным приложением. Содержание командного файла содержит:

    echo %date% %time% >>c:\cron\mem.txt
    c:\dnld\pslist.exe -m >>c:\cron\mem.tx
  2. Включите сервис Планировщика задач на Cisco CallManager server.

    1. Выберите Start> Programs> Administrative Tools> Services.

    2. Щелкните правой кнопкой мыши Планировщика задач (см. стрелку на рисунке 1).

    3. Нажмите Start (см. стрелку B в) от всплывающей коробки.

      Рис. 1: Сервисы

      pslist-1.gif

  3. Планируйте командный файл для выполнения периодически.

    Cisco рекомендует интервал 10 минут. Можно отрегулировать этот интервал, подвергающийся проблемной потребности. Это только занимает несколько секунд для выполнения и поэтому не увеличивает загрузку.

    1. Нажмите Start, точку к Параметрам настройки, и нажмите Control Panel.

    2. Дважды нажмите Scheduled Tasks.

    3. Нажмите кнопку Next.

    4. Нажмите кнопку Browse.

    5. Перейдите для выбора программы для планирования.

      В этом случае каталог является кроном (см. стрелку на рисунке 2), и программа является mem.txt (см. стрелку B на рисунке 2).

      Рис. 2: Выберите Program to Schedule

      pslist-2.gif

    6. Нажмите кнопку Open.

      Примечание: При использовании Мастера Запланированной задачи проверьте Открытые дополнительные свойства для этой задачи, когда я нажимаю Finish и затем нажимаю Finish для продолжения.

    7. Введите имя для этой задачи.

    8. Click Daily.

    9. Нажмите кнопку Next.

    10. Выберите время и день, который вы хотите эту задачу запустить.

    11. Нажмите кнопку Next.

    12. Введите имя и пароль пользователя. Задача выполняется, как будто она была запущена пользователем.

    13. Нажмите кнопку Next.

    14. Проверьте Открытые дополнительные свойства для этой задачи, когда я нажму Finish и затем нажму Finish для продолжения.

    15. Нажмите Schedule.

    16. Нажмите кнопку Advanced.

    17. Проверьте Повторную задачу и затем задайте количество минут или часов, которые вы хотите задачу повторить.

    18. Дважды нажмите кнопку OK.

  4. Ждите использования для роста.

  5. Соберите журнал. Для каждого выполнения PsList это - выходные данные:

    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 

    Примечание: Отключите запланированное задание, когда вы закончите. В противном случае журнал заполняет диск.

  6. Используйте pslistmem.pl сценарий, чтобы проанализировать журнал и предварительно ожидать количество экземпляра к каждой линии.

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

    Сценарий предварительно ожидает количество 1 ко всем линиям в первом наборе выхода от PsList. Это предварительно ожидает количество 2 к второму набору и т.д (см. стрелки A, B и C на рисунке 2). Это также разделяет строки заголовка. Это позволяет вам виду PID, и используйте первый столбец для хранения линий во временном заказе.

    Примечание: Для выполнения этого сценария Perl необходимо загрузить Интерпретатор языка Perl, такой как ActivePerl от www.activestate.com. leavingcisco.com

  7. Вызовите pslistmam.pl сценарий как показано в выходных данных ниже:

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

    Mem.txt и out.txt представляют файл ввод/вывода соответственно для pslistmem.pl. Это сортирует выходные данные именем процесса. В выходном файле (см. рисунок 3), столбец 1 является предварительно ожидаемым количеством набора, столбец 2 является именем процесса, столбец 3 является ID процесса, столбец 4 является виртуальной памятью (VM), столбец 5 является рабочим набором (WS), столбец 6 является частным количеством байтов, и столбец 7 является пиком частного количества байтов. Если вы наблюдаете тенденции VM, WS и частного количества байтов, они предоставляют вам общую тенденцию использования памяти определенным процессом.

    Рис. 3: Выходные данные для сценария PsListMem.pl

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

Связанные обсуждения сообщества поддержки Cisco

В рамках сообщества поддержки Cisco можно задавать и отвечать на вопросы, обмениваться рекомендациями и совместно работать со своими коллегами.


Дополнительные сведения