Решение проблемы высокой загрузки ЦП на маршрутизаторах Cisco
В этой статье объясняются общие симптомы и причины высокой загруженности ЦП в маршрутизаторах Cisco и даются указания и решения по устранению неполадок. Данный документ не ограничен отдельными версиями программного и аппаратного обеспечения.
Симптомы высокой загруженности ЦП
Ниже перечислены распространенные симптомы высокой загрузки ЦП. Если присутствует любой из описанных признаков, для устранения неполадки выполните действия, описанные в данном документе.
- Команда show processes cpu выдает высокое значение в процентах
- Медленная работа
- Службы маршрутизатора не отвечают, например:
- задержка ответа Telnet или невозможно получить доступ к маршрутизатору по протоколу Telnet
- медленный ответ на консоли
- медленный ответ на запрос команды ping или вообще нет ответа
- маршрутизатор не отправляет обновления маршрутизации другим маршрутизаторам
Первоначальное устранение неполадок
Как только будет замечен какой-нибудь из указанных выше симптомов, выполните следующее:
- Проверьте наличие проблем, связанных с безопасностью. Как правило, высокая загрузка ЦП бывает обусловлена именно проблемами такого рода, например функционированием вредоносной программы (червя или вируса) в сети. Если последние изменения в сети производились давно, это наиболее вероятная причина высокой загрузки ЦП. Обычно для ограничения негативных последствий этой проблемы достаточно добавить строки в списки доступа.
- Убедитесь, что все команды отладки в маршрутизаторе выключены, выполнив команду undebug all или no debug all.
- Удается выполнить команды show на маршрутизаторе? Если да, немедленно начните собирать дополнительные сведения, используя эти команды.
- Маршрутизатор недоступен? Удается воспроизвести эту проблему? Если да, выключите и включите маршрутизатор, а перед воспроизведением проблемы настройте команду scheduler interval 500. В результате выполнение процессов с низким приоритетом будет запланировано с интервалом в 500 миллисекунд, благодаря чему появится время для запуска некоторых команд, даже если ЦП используется на все 100%. На оборудовании Cisco серий 7200 и 7500 используйте команду scheduler allocate 3000 1000.
- Проявляет маршрутизатор признаки высокой загрузки ЦП в течение кратких и непрогнозируемых периодов? Если да, регулярно собирайте выходные данные команды show processes cpu, которые отображают причину высокой загрузки ЦП, если она вызвана прерываниями или отдельным процессом.
- Выяснение причин и решение проблемы
Используйте команду show processes cpu, чтобы определить, чем вызвана высокая загрузка ЦП, прерываниями или процессами.
Высокая загруженность ЦП процессами
Определите процесс, чрезмерно использующий ЦП. Необычная активность, относящаяся к процессу, приводит к сообщению об ошибке в журнале. Таким образом, выходные данные команды show logging exec следует проверить, в первую очередь, на наличие любых ошибок, относящихся к процессу, использующему большое количество циклов ЦП.
Отладка также является очень полезной при устранении проблемы высокой загруженности ЦП процессами. Однако отладку следует выполнять очень осторожно, поскольку это может привести к еще большей загрузке ЦП. Отладка будет безопасной и эффективной при выполнении следующих предварительных условий:
- Все журналы регистрации, за исключением журнала регистрации сведений для буферов, должны быть отключены или уровень важности протоколируемых в них сведений должен быть понижен с 7 (отладка) до 6 (информационный) или ниже при помощи соответствующей команды настройки logging destination [уровень важности]. Сведения о включенных журналах регистрации и уровнях важности протоколируемых в них сведений содержатся в строках заголовка выходных данных команды show logging exec.
- Размер буфера регистрации необходимо увеличить, чтобы он вмещал всю необходимую информацию. Дополнительные сведения см. в описании команды глобальной настройки logging buffered.
- Чтобы облегчить восприятие и понимание отладки, следует включить временные отметки в миллисекундах, а также дату и время. Дополнительную информацию см. в описании команды глобальной настройки service timestamps.
Команды для получения дополнительной информации
Эти команды позволяют получить дополнительные сведения о проблеме:
- show processes cpu
- show interfaces
- show interfaces switching
- show interfaces stat
- show ip nat translations
- show align
- show version
- show log
Если маршрутизатор совершенно недоступен, сначала выключите и включите его. Затем периодически собирайте выходные данные вышеуказанных команд, за исключением команды show log, результаты выполнения которой должны регистрироваться на сервере системного журнала. Выходные данные следует собирать с интервалом 5 минут. Сбор данных можно также выполнить с помощью HTTP или SNMP.
Команда 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 | Среднее использование прерываниями за последние пять секунд¹ |
Z | Среднее суммарное использование за последнюю минуту² |
W | Среднее суммарное использование за последние пять минут² |
PID | Идентификатор процесса |
Runtime | Время ЦП, использованное процессом (в миллисекундах) |
Invoked | Число вызовов процесса |
uSecs | Время ЦП в микросекундах для каждого вызова процесса |
5Sec | Использование ЦП заданием за последние пять секунд |
1Min | Использование ЦП заданием за последнюю минуту2 |
5Min | Использование ЦП заданием за последние пять минут2 |
TTY | Управляющий процессом терминал |
Process | Имя процесса |
¹Использование ЦП на уровне процесса = X - Y
²Значения соответствуют не арифметическому среднему, а экспоненциально затухающему среднему, поэтому последние значения больше влияют на вычисляемое среднее.
Примечание: Суммарное использование ЦП не следует интерпретировать как показатель способности маршрутизатора коммутировать большее число пакетов. В маршрутизаторах Cisco 7500 универсальные интерфейсные процессоры (VIP) и процессоры маршрутизации и коммутации (RSP) не сообщают о линейном использовании ЦП. Почти половина мощности коммутации в пакетах в секунду реализуется после 90-95% загрузки ЦП.
Команда show interfaces switching
Эта команда используется для определения активных путей коммутации на интерфейсах
Ниже приведен пример выходных данных команды 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 | 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 | ||||
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
Эта команда отображает содержание сообщений журнала регистрации сведений о буферах.
Есть вопросы?
Обращайтесь в "Аквилон-А", чтобы узнать подробности и получить
именно то, что вам требуется.