Маршрутизаторы : Маршрутизаторы Cisco серии 10000

Решение проблемы высокой загрузки ЦП на маршрутизаторах Cisco

23 марта 2008 - Перевод, выполненный профессиональным переводчиком
Другие версии: PDF-версия:pdf | Машинный перевод (28 июля 2013) | Английский (24 июля 2008) | Отзыв

Перевод выполнен профессиональным переводчиком

Перевод выполнен профессиональным переводчиком


Интерактивный документ: в данном документе содержится анализ конкретного устройства Cisco.


Содержание

Введение
Предварительные условия
      Требования
      Используемые компоненты
      Условные обозначения
Симптомы высокой загруженности ЦП
Первоначальное устранение неполадок
Выяснение причин и решение проблемы
      Высокая загрузка ЦП из-за прерываний
      Высокая загруженность ЦП процессами
Команды для получения дополнительной информации
      Команда show processes cpu
      Команда show interfaces
      Команда show interfaces switching
      Команда show interfaces stat
      Команда show ip nat translations
      Команда show align
      Команда show version
      Команда show log
Основной сценарий UNIX для периодического сбора данных
Связанные обсуждения сообщества поддержки Cisco
Дополнительная информация

Введение

В этом документе объясняются общие симптомы и причины высокой загруженности ЦП в маршрутизаторах Cisco и даются указания и решения по устранению неполадок.

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

Требования

Перед прочтением данного документа следует ознакомиться с информацией о коммутируемых путях ПО Cisco IOS®. Информацию о коммутируемых путях ПО Cisco IOS см. в разделе Основы настройки производительности.

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

Данный документ не ограничен отдельными версиями программного и аппаратного обеспечения.

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

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

Симптомы высокой загруженности ЦП

Ниже перечислены распространенные симптомы высокой загрузки ЦП. Если присутствует любой из описанных признаков, для устранения неполадки выполните действия, описанные в данном документе.

  • Команда show processes cpu выдает высокое значение в процентах

    При наличии результата выполнения команды show processes cpu на устройстве Cisco можно использовать средство для выявления проблем и поиска их решений. Чтобы им воспользоваться, необходимо быть зарегистрированным пользователем и выполнить вход, при этом должна быть включена поддержка JavaScript.

  • Медленная работа

  • Службы маршрутизатора не отвечают, например:

    • задержка ответа Telnet или невозможно получить доступ к маршрутизатору по протоколу Telnet

    • медленный ответ на консоли

    • медленный ответ на запрос команды ping или вообще нет ответа

    • маршрутизатор не отправляет обновления маршрутизации другим маршрутизаторам

Первоначальное устранение неполадок

Как только будет замечен какой-нибудь из указанных выше симптомов, выполните следующее:

  • Проверьте наличие проблем, связанных с безопасностью. Как правило, высокая загрузка ЦП бывает обусловлена именно проблемами такого рода, например функционированием вредоносной программы (червя или вируса) в сети. Если последние изменения в сети производились давно, это наиболее вероятная причина высокой загрузки ЦП. Обычно для ограничения негативных последствий этой проблемы достаточно добавить строки в списки доступа. Раздел Сообщения и заметки по безопасности продуктов Cisco содержит информацию по выявлению наиболее вероятных причин и конкретные способы их устранения.

    Дополнительную информацию см. в следующих разделах:

  • Убедитесь, что все команды отладки в маршрутизаторе выключены, выполнив команду undebug all или no debug all. Дополнительную информацию об использовании команд отладки см. в разделе Использование команд отладки.

  • Удается выполнить команды show на маршрутизаторе? Если да, немедленно начните собирать дополнительные сведения, используя эти команды.

  • Маршрутизатор недоступен? Удается воспроизвести эту проблему? Если да, выключите и включите маршрутизатор, а перед воспроизведением проблемы настройте команду scheduler interval 500. В результате выполнение процессов с низким приоритетом будет запланировано с интервалом в 500 миллисекунд, благодаря чему появится время для запуска некоторых команд, даже если ЦП используется на все 100%. На маршрутизаторах Cisco серий 7200 и 7500 используйте команду scheduler allocate 3000 1000.

  • Проявляет маршрутизатор признаки высокой загрузки ЦП в течение кратких и непрогнозируемых периодов? Если да, регулярно собирайте выходные данные команды show processes cpu, которые отображают причину высокой загрузки ЦП, если она вызвана прерываниями или отдельным процессом. Используйте этот сценарий UNIX и на основании первых полученных данных модифицируйте сценарий для сбора данных, необходимых для дальнейшего исследования проблемы.

Выяснение причин и решение проблемы

Используйте команду show processes cpu, чтобы определить, чем вызвана высокая загрузка ЦП, прерываниями или процессами.

Высокая загрузка ЦП из-за прерываний

Дополнительную информацию см. в разделе Решение проблемы высокой загрузки ЦП из-за прерываний.

Высокая загруженность ЦП процессами

Определите процесс, чрезмерно использующий ЦП. Необычная активность, относящаяся к процессу, приводит к сообщению об ошибке в журнале. Таким образом, выходные данные команды show logging exec следует проверить, в первую очередь, на наличие любых ошибок, относящихся к процессу, использующему большое количество циклов ЦП.

Отладка также является очень полезной при устранении проблемы высокой загруженности ЦП процессами. Однако отладку следует выполнять очень осторожно, поскольку это может привести к еще большей загрузке ЦП. Отладка будет безопасной и эффективной при выполнении следующих предварительных условий:

  • Все журналы регистрации, за исключением журнала регистрации сведений для буферов, должны быть отключены или уровень важности протоколируемых в них сведений должен быть понижен с 7 (отладка) до 6 (информационный) или ниже при помощи соответствующей команды настройки logging destination [уровень важности]. Сведения о включенных журналах регистрации и уровнях важности протоколируемых в них сведений содержатся в строках заголовка выходных данных команды show logging exec.

  • Размер буфера регистрации необходимо увеличить, чтобы он вмещал всю необходимую информацию. Дополнительные сведения см. в описании команды глобальной настройки logging buffered.

  • Чтобы облегчить восприятие и понимание отладки, следует включить временные отметки в миллисекундах, а также дату и время. Дополнительную информацию см. в описании команды глобальной настройки service timestamps.

В разделе Решение проблемы высокой загрузки ЦП в процессе IP входа приведен пример сеанса отладки IP-пакетов.

Для решения проблемы высокой загрузки ЦП конкретными процессами используйте соответствующую ссылку:

  • ARP-вход — Раздел "ARP-вход" документа "Решение проблемы высокой загрузки ЦП процессами"

  • BGP-маршрутизатор — Раздел "Высокая загрузка ЦП процессом BGP-маршрутизатора" в документе "Решение проблемы высокой загрузки ЦП процессом BGP сканера или BGP маршрутизатора"

  • BGP-сканер — Раздел "Высокая загрузка ЦП процессом BGP-сканера" в документе "Решение проблемы высокой загрузки ЦП процессом BGP-сканера или BGP-маршрутизатора"

  • EXEC — Высокая загрузка ЦП процессом EXEC или Virtual EXEC

  • HyBridge вход — Решение проблемы высокой загрузки ЦП процессом HyBridge входа на маршрутизаторах с ATM-интерфейсами

  • IP-вход — Решение проблемы высокой загрузки ЦП процессом IP-входа

  • Простой IP-протокол управления сетью (SNMP) — Простой IP протокол управления сетью (SNMP) является причиной высокой загрузки ЦП

  • Средство обновления LC ADJ — Что является причиной высокой загрузки ЦП процессом средства обновления LC Adjacency на Интернет маршрутизаторе Cisco серии 12000?

  • TCP-таймер — Раздел "TCP-таймер" документа "Решение проблемы высокой загрузки ЦП процессами"

  • Фоновый процесс TTY — Раздел "Фоновый процесс TTY" документа "Решение проблемы высокой загрузки ЦП процессами"

  • Virtual EXEC — Высокая загрузка ЦП процессом EXEC или Virtual EXEC

  • Vtemplate Backgr — Раздел "Фоновый виртуальный шаблон" документа "Решение проблемы высокой загрузки ЦП процессами"

  • Другие процессы — Раздел "Другие процессы" документа "Решение проблемы высокой загрузки ЦП процессами"

Команды для получения дополнительной информации

Эти команды позволяют получить дополнительные сведения о проблеме:

Если маршрутизатор совершенно недоступен, сначала выключите и включите его. Затем периодически собирайте выходные данные вышеуказанных команд, за исключением команды show log, результаты выполнения которой должны регистрироваться на сервере системного журнала. Выходные данные следует собирать с интервалом 5 минут. Данные можно собирать вручную или автоматически, используя этот сценарий оболочки UNIX. Сбор данных можно также выполнить с помощью HTTP или SNMP. Дополнительную информацию о настройке HTTP и SNMP на маршрутизаторе Cisco см. в разделе Настройка ПО Cisco IOS.

Команда show processes cpu

Это пример заголовка команды show processes cpu:

 CPU utilization for five seconds: X%/Y%; one minute: Z%; five minutes: W% 
  PID  Runtime(ms)  Invoked  uSecs    5Sec   1Min   5Min TTY Process 

В следующей таблице описаны поля этого заголовка:

Поле

Описание

X

Среднее суммарное использование за последние пять секунд (прерывания + процессы)

Y

Среднее использование прерываниями за последние пять секунд1

Z

Среднее суммарное использование за последнюю минуту2

W

Среднее суммарное использование за последние пять минут2

PID

Идентификатор процесса

Runtime

Время ЦП, использованное процессом (в миллисекундах)

Invoked

Число вызовов процесса

uSecs

Время ЦП в микросекундах для каждого вызова процесса

5Sec

Использование ЦП заданием за последние пять секунд

1Min

Использование ЦП заданием за последнюю минуту2

5Min

Использование ЦП заданием за последние пять минут2

TTY

Управляющий процессом терминал

Process

Имя процесса

1Использование ЦП на уровне процесса = X - Y

2Значения соответствуют не арифметическому среднему, а экспоненциально затухающему среднему, поэтому последние значения больше влияют на вычисляемое среднее.

Щелкните эту ссылку, чтобы ознакомиться с подробным описанием команды show processes cpu.

Примечание: Суммарное использование ЦП не следует интерпретировать как показатель способности маршрутизатора коммутировать большее число пакетов. В маршрутизаторах Cisco 7500 универсальные интерфейсные процессоры (VIP) и процессоры маршрутизации и коммутации (RSP) не сообщают о линейном использовании ЦП. Почти половина мощности коммутации в пакетах в секунду реализуется после 90-95% загрузки ЦП.

Команда show interfaces

Щелкните эту ссылку, чтобы ознакомиться с подробным описанием команды show interfaces.

Команда show interfaces switching

Эта команда используется для определения активных путей коммутации на интерфейсах. Дополнительную информацию о коммутируемых путях в ПО Cisco IOS см. в разделе Настройка коммутируемых путей.

Ниже приведен пример выходных данных команды show interfaces switching для одного интерфейса:

RouterA#show interfaces switching
 Ethernet0 
           Throttle count          0 
         Drops         RP          0         SP          0 
   SPD Flushes       Fast          0        SSE          0 
   SPD Aggress       Fast          0 
  SPD Priority     Inputs          0      Drops          0 

      Protocol       Path    Pkts In   Chars In   Pkts Out  Chars Out 
         Other    Process          0          0        595      35700 
             Cache misses          0 
                     Fast          0          0          0          0 
                Auton/SSE          0          0          0          0 
            IP    Process          4        456          4        456 
             Cache misses          0 
                     Fast          0          0          0          0 
                Auton/SSE          0          0          0          0 
           IPX    Process          0          0          2        120 
             Cache misses          0 
                     Fast          0          0          0          0 
                Auton/SSE          0          0          0          0 
 Trans. Bridge    Process          0          0          0          0 
             Cache misses          0 
                     Fast         11        660          0          0 
                Auton/SSE          0          0          0          0 
       DEC MOP    Process          0          0         10        770 
             Cache misses          0 
                     Fast          0          0          0          0 
                Auton/SSE          0          0          0          0 
           ARP    Process          1         60          2        120 
             Cache misses          0 
                     Fast          0          0          0          0 
                Auton/SSE          0          0          0          0 
           CDP    Process        200      63700        100      31183 
             Cache misses          0 
                     Fast          0          0          0         0 
                Auton/SSE          0          0          0          0 

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

Поле

Описание

Process

Обработанные пакеты. Это могут быть пакеты, предназначенные для маршрутизатора, или пакеты, для которых не было записей в кэш-памяти быстрой коммутации.

Cache misses

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

Fast

Пакеты, обработанные быстрой коммутацией. Быстрая коммутация включена по умолчанию.

Auton/SSE

Пакеты, обработанные автономной коммутацией; коммутацией с помощью кремниевых процессоров или распределенной коммутацией. Доступны только на маршрутизаторах Cisco серии 7000 с процессором коммутации или кремниевым процессором коммутации (для автономной коммутации или коммутации с использованием кремниевых устройств соответственно), либо на маршрутизаторах Cisco серии 7500 с процессором VIP (для распределенной коммутации).

Команда show interfaces stat

Эта команда является объединенной версией команды show interfaces switching. Ниже приведен пример выходных данных для одного интерфейса:

 RouterA#show interfaces stat
 Ethernet0 
           Switching path    Pkts In   Chars In   Pkts Out  Chars Out 
                Processor      52077   12245489      24646    3170041 
              Route cache          0          0          0          0 
        Distributed cache          0          0          0          0 
                    Total      52077   12245489      24646    3170041 

Выходные данные команды show interfaces stat на разных платформах отличаются: они зависят от доступных и настроенных коммутируемых путей.

show ip nat translations

Команда show ip nat translations служит для отображения активных на маршрутизаторе трансляций преобразования сетевых адресов (NAT). Каждая активная трансляция генерирует прерывания ЦП и влияет на суммарное использование ЦП маршрутизатора. Большое число трансляций может повлиять на производительность маршрутизатора.

Ниже приведен пример выходных данных команды show ip nat translations:

     router#show ip nat translations
     Pro Inside global    Inside local    Outside local    Outside global
     --- 172.16.131.1     10.10.10.1      ---              ---

Команда show align

Эта команда доступна только на платформах на базе RISC-процессоров с сокращенным набором команд. На этих платформах ЦП может корректировать нарушения выравнивания для чтения и записи в памяти. Ниже приведен пример выходных данных:

 Alignment data for: 
 4500 Software (C4500-DS40-M), Version mis-aligned RELEASE SOFTWARE (fc1) 
 Compiled Tue 31-Mar-98 15:05 by jdoe

 Total Corrections 33911, Recorded 2, Reads 33911, Writes 0 

 Initial Initial 
 Address Count Access Type Traceback 
 40025F4D 15561 16bit read 0x606F4A7C 0x601C78F8 0x6012FE94 0x600102C0 
 40025F72 18350 32bit read 0x606FB260 0x6013113C 0x600102C0 0x60010988 

Команда show version

В целях отслеживания проблем высокой загрузки ЦП, важной частью выходных данных этой команды является версия программного обеспечения Cisco IOS, платформа, тип ЦП и время работы маршрутизатора. Щелкните эту ссылку, чтобы ознакомиться с подробным описанием команды show version.

Команда show log

Эта команда отображает содержание сообщений журнала регистрации сведений о буферах. Дополнительную информацию о регистрации системных сообщений см. в разделе Регистрация системных сообщений об ошибках руководства по настройке Устранение неполадок маршрутизатора.

Основной сценарий UNIX для периодического сбора данных

В этом приложении описан простой сценарий для периодического сбора данных маршрутизатора. Основой сценария является эта строка:

  (echo "show version") | telnet 192.168.1.1

Команда в скобках выполняется в подоболочке, а результат выполнения передается сеансу Telnet. Ниже приведен пример сценария для захвата выходных данных команд show version и show processes cpu:

     #!/opt/local/bin/bash

     ########################################### 
     # Router's IP address 
     # 
     IP_ADDRESS='10.200.40.53' 
       

     # Directory where the log files will be stored 
     # 
     DIR=/var/log/router 

     ######################################## 

     if [ ! -e $DIR ] 
     then 
       mkdir $DIR 
     fi 

     # Tag specification: mmddhhmm 
     DATE=`date +'%m%d'` 
     TIME=`date +'%H%M'` 
     TAG=$DATE$TIME 

     # Collect data from the router 
     (echo "foo";\ 
     echo "bar";\ 
     echo "term len 0";\ 
     echo "show version";\ 
     echo "show processes cpu";\ 
     echo "term len 15";\ 
     echo "show memory summary";\ 
     echo "q";\ 
     sleep 30)|telnet $IP_ADDRESS > $DIR/info.$TAG 2>$DIR/info.$TAG.msg 

Примечание: В этом сценарии все данные, включая пароль, передаются в формате открытого текста.

В первом разделе необходимо указать IP-адрес и каталог назначения для файлов журнала. Второй раздел содержит фактические команды, отправляемые маршрутизатору. Сначала имя пользователя, затем пароль и т. д. Включается способ для захвата только первых строк выходных данных определенных команд. Длина терминала установлена небольшой (в данном случае она равна 15), а символ q отправлен только при помощи командной строки.

Если сбор данных проводится регулярно, выходные данные команды show version указывают, периодически возникает проблема или нет, например, она может возникать в определенное время дня или в определенный день недели. Если необходимо собрать выходные данные для большего числа команд, их следует добавить в сценарий способом, аналогичным использованному в примере. Если необходимо обрезать выходные данные, отправляемые в файл, сначала увеличьте период ожидания (команда sleep в скобках).

Выполняйте этот сценарий каждые 5 минут, если проблема высокой загрузки ЦП возникает часто и на кратковременный период. В других обстоятельствах его можно выполнять каждые 15 или 30 минут. Для облегчения использования сохраните сценарий в файле, например /usr/bin/router-script. Затем, чтобы запланировать выполнение сценария через каждые 5 минут, добавьте следующую строку в файл /etc/crontab:

     */5       *       *       *       *       /usr/bin/router-script

Перезапустите сервер cron. Если у вас нет права на изменение файла /etc/crontab, выполните сценарий в отдельном процессе, например:

     while [ 1 ]; do ./router-script ; sleep 300; done &

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

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


Дополнительная информация


Document ID: 15095