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

Устранение неполадок высокой загрузки ЦП, вызванной прерываниями

5 апреля 2016 - Машинный перевод
Другие версии: PDF-версия:pdf | Перевод, выполненный профессиональным переводчиком (21 мая 2008) | Английский (31 декабря 2015) | Отзыв


Содержание


Введение

В этом документе описаны причины высокой загрузки CPU из-за перебоев, а также даются указания по устранению подобных ситуаций.

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

Требования

Для этого документа отсутствуют особые требования.

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

Настоящий документ не имеет жесткой привязки к каким-либо конкретным версиям программного обеспечения и оборудования.

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

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

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

Возможные причины высокой загрузки CPU в результате прерывания

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

Универсальные асинхронные приемники/передатчики (UART) являются медленными по сравнению со скоростью обработки маршрутизатора. Поэтому маловероятно, хотя и возможно, что консоль или вспомогательные прерывания могут привести к высокой загрузке CPU маршрутизатора (за исключением случая, когда на маршрутизаторе имеется много используемых линий tty).

Существует несколько причин высокой загруженности CPU, вызванной прерываниями:

Несоответствующий коммутируемый путь

Для устранения этой потенциальной проблемы, проверьте следующее:

ЦПУ, выполняющие исправление выравнивания

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

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

Маршрутизатор перегружен трафиком

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

  1. Выполните команду terminal length 0.

  2. Проверьте выходные данные команды show interfaces. Проверьте загрузку и число дросселей на интерфейсах. Загрузка является приблизительным значением, вычисляемым по умолчанию на протяжении более пяти минут. Чтобы изменить этот интервал, выполните команду load-interval seconds, где seconds – длительность интервала, данные за который используются при вычислении статистики загрузки. Используйте значение, кратное 30.

    Появление регулирования - верный признак перегрузки маршрутизатора. Они соответствуют числу отключений приемника на порте, возможно, из-за перегрузки буфера или процессора. Совместно с высокой загрузкой CPU на уровне прерываний включение регулятора показывает, что маршрутизатор перегружен трафиком.

  3. Проверьте выходные данные команды show interfaces switching (команда скрытая), чтобы определить тип трафика (протокол или путь коммутации), проходящий через перегруженный интерфейс. Если некоторые интерфейсы чрезмерно перегружены трафиком, подумайте об изменении схемы коммутации трафика в сети или обновлении оборудования.

  4. Петля в сети также может стать причиной перегрузки трафиком. Проверьте топологию сети.

Если существует вероятность того, что одно устройство генерирует пакеты с чрезвычайно высокой скоростью и тем самым перегружает маршрутизатор, можно определить МАС-адрес этого устройства, добавив команду настройки ip accounting mac-address {input|output} interface в конфигурацию перегруженного интерфейса.

Команда show interfaces [ ] mac-accounting отображает собранную информацию. После установления МАС-адреса устройства, можно определить соответствующий IP-адрес, проверив выходные данные команды show ip arp.

Ошибка в программном обеспечении

Если вы подозреваете дефект в версии программного обеспечения Cisco IOS, работающей на маршрутизаторе, можно проверить Bug Toolkit (только зарегистрированные клиенты) для дефекта, который сообщает о подобных признаках в аналогичной среде.

Голосовые порты, настроенные на маршрутизаторе

Даже если существует "no traffic" (нет трафика), программное обеспечение продолжает контролировать сигнализацию по выделенному каналу (CAS), которая использует ресурсы ЦПУ.

Активные интерфейсы асинхронного режима передачи на маршрутизаторе

Даже если существует "no traffic" (нет трафика), ATM-интерфейсы отсылают пустую ячейку (на стандарты ATM) и продолжают использовать ресурсы ЦПУ.

Много Parallel Express Forwarding (PXF) избыточные направления к RP

Когда PXF направляет слишком много избыточных пакетов RP, это может вызвать перегрузку RP. Чтобы сравнить число отправленных пакетов с общим числом входящих пакетов, выполните команду show pxf accounting summary. Используйте эту же команду для поиска причины передачи пакетов на RP. Причиной может быть ошибка в ПО или трафик, не поддерживаемый PXF.

Профилирование ЦПУ

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

Выполните эти шаги для выполнения профилирования ЦПУ. Загрузка ЦПУ имеет быть сделанной при испытании высокой загрузки ЦП.

Примечание: Все эти команды должны быть введены когда в режиме включения

  1. Перехватите выходные данные show region и возьмите начальный адрес, конечный адрес и размер main:text области

  2. Перехватите выходные данные статистики show memory и проверьте размер самого большого блока в памяти процессора.

  3. Действительно представьте прерывание задачи для настройки профилирования только для прерываний.

  4. Сравните размер main:text области с размером самого большого блока свободной памяти процессора. Идеально самый большой блок должен быть больше, чем main:text.

    Если самый большой блок меньше, чем main:text размер, то отрегулируйте глубину детализации, чтобы удостовериться, что профилирование будет в состоянии получить блок памяти процессора.

    Если самый большой блок больше, чем main:text область, используйте глубину детализации 4.

    Если самый большой блок больше, чем половина main:text области, используйте глубину детализации 8.

    Если самый большой блок больше, чем четверть main:text области, используйте глубину детализации 10 (16 в шестнадцатеричном).

    Примечание: Глубина детализации должна быть питанием 2 и должна быть как можно меньше (но не меньше, чем 4)

  5. Начните представлять путем выполнения профиля

    Profile <starting address> <ending address> <granularity value>

    Начальный адрес и конечный адрес определены от Step1.

  6. Ждите 5 - 10 минут

  7. Прекратите представлять путем выполнения профиля, останавливаются

  8. Перехватите выходные данные краткого профиля показа.

  9. Удостоверьтесь, что память освобождена путем выполнения непрофиля все

команда 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 

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

Поле Определение
Процесс Обработанные пакеты. Это могут быть пакеты, предназначенные для маршрутизатора, или пакеты, для которых не было входа в кэш-память быстрого переключения.
Cache misses Пакеты, для которых не было записей в кэше быстрой коммутации. Будет обработан первый пакет для этого назначения (или поток – зависит от типа настроенной быстрой коммутации). Все последующие пакеты будут быстро переключаться, если только быстрое переключение не будет специально отключено на исходящем интерфейсе.
Быстро Быстрая коммутация пакетов. Быстрая коммутация включена по умолчанию.
Auton/SSE Пакеты с автономной коммутацией, пакеты с коммутацией с помощью кремниевых процессоров и пакеты с распределенной коммутацией. Доступны только на маршрутизаторах Cisco серии 7000 с процессором коммутации или кремниевым процессором коммутации (для автономной коммутации или коммутации с использованием кремниевых устройств соответственно) либо на коммутаторах Cisco серии 7500 с процессором VIP (для распределенной коммутации).

Образец сценария для Получения Профилирования ЦПУ В Высокой загрузке CPU

Когда загрузка ЦПУ составляет больше чем 75%, этот сценарий сохраняет выходные данные на flash:CPU_Profile:

service internal

event manager applet High_CPU

event snmp oid 1.3.6.1.4.1.9.9.109.1.1.1.1.6 get-type
	 next entry-opge entry-val 75

exit-time 10 poll-interval 5

action 0.1 syslog msg "CPU Utilization is high"

action 0.2 cli command "enable"

action 0.4 cli command "show log | append flash:CPU_Profile.txt"

action 0.5 cli command "show process cpu sorted | append
	 flash:CPU_Profile.txt"

action 0.6 cli command "show interfaces | append
	 flash:CPU_Profile.txt"

action 1.1 cli command "configure terminal"

action 1.2 cli command "profile xxxxxxx yyyyyyyyZ"

action 1.3 cli command "profile start"

action 2.3 syslog msg "Entering TCLSH"

action 2.4 cli command "tclsh"

action 2.5 cli command "after 240000"

action 2.6 cli command "exit"

action 2.9 syslog msg "Exiting TCLSH"

action 3.0 cli command "profile stop"

action 3.1 cli command "show profile terse | append flash:CPU_Profile.txt"

action 3.2 cli command "clear profile"

action 3.3 cli command "unprofile all"

action 4.1 syslog msg "Finished logging information to flash:CPU_Profile.txt..."

action 4.2 cli command "end"

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

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


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


Document ID: 41120