Поиск неисправностей проблем памяти

advertisement
Поиск неисправностей проблем памяти
Интерактивный: Этот документ предлагает настроенный анализ вашего устройства Cisco.
Содержание
Введение
Предпосылки
Требования
Используемые компоненты
Соглашения
Что такое Неудача Распределения Памяти?
Признаки
"Неспособный создать EXEC" ошибка или когда не отвечает пульт
Понимание сообщения об ошибке
Возможные причины
В Памяти Процессора ("Процессор Бассейна" на всех платформах)
В Памяти Пакета ("I/O" или "Процессор" на высококачественных маршрутизаторах, "PCI" на 7200 рядах и картах VIP)
Поиск неисправностей
Связанная с безопасностью проблема
Размер памяти не Поддерживает Изображение программного обеспечения Cisco IOS
Ошибка утечки памяти
Большое количество памяти, используемой для нормальных или неправильных процессов
Проблема фрагментации памяти или ошибка
Неудача Распределения памяти при Процессе = прерывает уровень
Истощение памяти из-за загрузки за пользовательские списки доступа
Известные проблемы
Недостаточно совместно используемой памяти для интерфейсов
Буферная ошибка утечки
Маршрутизатор, испытывающий нехватку быстрой памяти
IPFAST-4-RADIXDELETE: Ошибка, пытающаяся удалить вход префикса [IP_address] / [декабрь] (ожидаемый
[околдовывают], добралась [околдовывают]),
%SYS-2-CHUNKEXPANDFAIL: не Мог расширить бассейн куска для Битового массива TACL. Никакая доступная память
Поиск неисправностей резюме
Объедините неудачи распределения памяти "процессора"
Объедините Неудачи Распределения Памяти "I/O" ("Процессор" на высококачественных маршрутизаторах, "PCI" на 7200
рядах)
Информация, чтобы Собраться, если Вы Открываете Запрос на обслуживание TAC
Соответствующая информация
Введение
Этот документ объясняет признаки и возможные причины неудачи распределения памяти (MALLOCFAIL), и предлагает рекомендации
для поиска неисправностей проблем памяти.
Предпосылки
Требования
Нет никаких определенных требований для этого документа.
Используемые компоненты
Информация в этом документе основана на этих версиях программного и аппаратного обеспечения:
Все версии программного обеспечения Cisco IOS
Все маршрутизаторы Cisco
Примечание: Этот документ не относится к Cisco выключатели Катализатора, которые используют CatOS или платформы MGX.
Информация в этом документе была создана из устройств в определенной окружающей среде лаборатории. Все устройства,
используемые в этом документе, начали с очищенного (неплатеж) конфигурацию. Если ваша сеть жива, удостоверьтесь, что вы
понимаете потенциальное воздействие любой команды.
Соглашения
Направьте в Cisco Технические Соглашения Подсказок для получения дополнительной информации о соглашениях документа.
Что такое Неудача Распределения Памяти?
Неудача распределения памяти означает также:
Маршрутизатор использовал всю доступную память (временно или постоянно), или
Память фрагментировала в такие маленькие части, что маршрутизатор не может найти применимый доступный блок. Это может
произойти с памятью процессора (используемый Интернет-операционной системой [IOS] Cisco) или с памятью пакета
(используемый поступающими и коммуникабельными пакетами).
Признаки
Признаки неудачи распределения памяти включают, но не ограничены:
Пульт или сообщение регистрации: "%SYS-2-MALLOCFAIL: распределение Памяти 1028 байтов потерпело неудачу от
0x6015EC84, Процессора Бассейна, выравнивания 0 дюймов
Отказанные сессии TELNET
Выставочная команда памяти процессора показана независимо от того, что приказывает, чтобы вы напечатали на пульте
Никакая продукция от некоторых выставочных команд
"Низко на памяти" сообщения
Сообщение пульта, "Неспособное создать EXEC - никакая память или слишком много процессов"
Вывешивание маршрутизатора, никакой ответ пульта.
"Неспособный создать EXEC" ошибка или когда не отвечает пульт
Когда маршрутизатор является низким на памяти, в некоторых случаях это не возможно к TELNET к маршрутизатору. В этом пункте
важно заставить доступ к порту пульта собирать данные для поиска неисправностей. При соединении с портом пульта, однако, вы
могли бы видеть это:
%% Unable to create EXEC - no memory or too many processes
Если вы видите вышеупомянутое сообщение, даже нет достаточной доступной памяти для обеспечения связи пульта. Существуют
шаги, которые можно сделать для разрешения сбора данных через пульт. При помощи маршрутизатору, свободному некоторая память
пульт может ответить, и можно тогда захватить необходимые данные от маршрутизатора для поиска неисправностей.
Примечание: Если Протокол ворот границы (BGP) формируется на маршрутизаторе, необходимо относиться, чтобы Достигнуть
Оптимального Направления и Уменьшить Потребление Памяти BGP для сокращения потребления памяти, связанного с этим
процессом.
Это шаги для попытки захватить данные с помощью порта пульта при очень низких условиях памяти:
1. Разъедините LAN и кабели WAN от интерфейсов на маршрутизаторе. Это заставит маршрутизатор останавливать мимолетные
пакеты.
2. Перепроверьте пульт. В состоянии вы, чтобы получить ответ и выполнить команды? С нескольких моментов должно быть
достаточно памяти, доступной, чтобы позволить пульту отвечать.
3. Соберите необходимую информацию от привилегированного способа EXEC (Router#). В минимуме вы хотите собрать полную
продукцию следующих команд: покажите общие количества процесса распределения памяти (или покажите резюме памяти
, если выставочные общие количества процесса распределения памяти не доступны), покажите регистрацию, и, если
возможно, покажите техническую поддержку.
4. После того, как вы собрали необходимые данные, повторно соединяете весь LAN и связи WAN и продолжаете контролировать
использование памяти маршрутизатора.
Понимание сообщения об ошибке
Когда вы делаете выставочную команду регистрации, необходимо видеть что-то вроде этого:
%SYS-2-MALLOCFAIL: Memory allocation of [X] bytes failed from
0x6015EC84, pool [Pool], alignment 0 -Process=
"[Process]" ipl= 6, pid=5
[X] = число байтов маршрутизатор попытался ассигновать, но не мог найти, что достаточно бесплатной памяти сделало так
[Бассейн] указывает, затронута ли память процессора ('Pool Processor') или память пакета ('pool I/O'). Высококачественные
маршрутизаторы (7000, 7500 рядов) имеют свои буфера в главной динамической памяти произвольного доступа (DRAM), таким
образом, об отсутствии памяти пакета сообщат как "процессор бассейна". 7200 рядов и карты Универсального интерфейсного
процессора (VIP) могут также сообщить об ошибках в информации о Контроле за Протоколом бассейна ('pool PCI')" для памяти
пакета.
[Процесс] является процессом, который был затронут отсутствием памяти.
Возможные причины
В Памяти Процессора ("Процессор Бассейна" на всех платформах)
Размер памяти не Поддерживает Изображение программного обеспечения Cisco IOS
Ошибка утечки памяти
Большое количество памяти, используемой для нормальных или неправильных процессов
Проблема фрагментации памяти или ошибка
Неудача Распределения памяти при Процессе = <прерывает уровень>
Известные проблемы
Известный 70x0 Проблема при Погрузке Большого программного обеспечения Cisco IOS от Flash или Netboot
Вход IP и открытие CiscoWorks UT
В Памяти Пакета ("I/O" или "Процессор" на высококачественных маршрутизаторах, "PCI" на 7200 рядах
и картах VIP)
Недостаточно совместно используемой памяти для интерфейсов
Буферная ошибка утечки
Маршрутизатор, испытывающий нехватку быстрой памяти
Поиск неисправностей
Связанная с безопасностью проблема
Обычно, ошибки MALLOCFAIL вызваны вопросом безопасности, таким как червь или вирус, действующий в вашей сети. Если не
было недавних изменений сети, таких как модернизация Cisco маршрутизатора IOS, это, особенно вероятно, будет причиной. Обычно,
изменение конфигурации, такое как добавление дополнительных линий к вашим спискам доступа может смягчить эффекты этой
проблемы. Страница Оповещений и Уведомлений о безопасности продукта Cisco содержит информацию об обнаружении наиболее
вероятных причин и определенных искусственных приемах.
Для получения дополнительной информации обратитесь к:
100 вопросов и ответы об интернет-угрозах
Контроль за угрозой Cisco
Размер памяти не Поддерживает Изображение программного обеспечения Cisco IOS
Во-первых, проверьте область программного обеспечения Загрузки (только зарегистрированные клиенты) для минимального размера
памяти для набора признаков и версии, которой вы управляете. Удостоверьтесь, что это достаточно. Требования к памяти на Cisco.com
являются минимальными рекомендуемыми размерами для правильного функционирования маршрутизатора в большинстве сетей
компании. Фактические требования к памяти варьируются согласно протоколам, таблицам маршрутизации и транспортным образцам.
Ошибка утечки памяти
Если вы имеете продукцию выставочной общей команды процесса распределения памяти, выставочной команды резюме памяти,
или показываете команду технической поддержки (в, позволяют способ) от вашего устройства Cisco, можно использовать
Переводчика Продукции (только зарегистрированные клиенты) для показа потенциальных проблем и исправлений. Для использования
Переводчика Продукции (только зарегистрированные клиенты) необходимо быть зарегистрированным клиентом, быть загружены, и
позволять JavaScript.
Утечка памяти происходит, когда процесс просит или ассигнует память и затем забывает освобождать (освобождают) память, когда это
закончено с той задачей. В результате блок памяти зарезервирован, пока не перезагружен маршрутизатор. В течение долгого времени
все больше блоков памяти ассигновано тем процессом, пока нет никакой бесплатной доступной памяти. В зависимости от серьезности
низкой ситуации с памятью в этом пункте единственный выбор, который вы можете иметь, состоит в том, чтобы перезагрузить
маршрутизатор для получения его готовый к эксплуатации снова.
Это - ошибка Интернет-операционной системы (IOS) Cisco. Для избавлений от него модернизируйте до последней версии в поезде
выпуска (например, если вы управляете выпуском 11.2 (14) программного обеспечения Cisco IOS, модернизируете до последнего 11.2
(x) изображение.
Если это не решает проблему, или если вы не хотите модернизировать маршрутизатор, входите, шоу обрабатывает команду памяти
равномерно в течение времени (например, каждые несколько часов или дней в зависимости от того, есть ли у вас быстрая или
медленная утечка). Проверьте, чтобы видеть, продолжает ли бесплатная память уменьшаться и никогда не возвращается. Уровень, по
которому исчезает бесплатная память, зависит от того, как часто событие имеет место, который приводит к утечке. Так как память
никогда не освобождается, можно отследить процесс, который использует память путем взятия снимков памяти в течение долгого
времени. Следует иметь в виду, что различные процессы ассигнуют и освобождают память по мере необходимости, таким образом, вы
будете видеть различия, но поскольку утечка продолжается, необходимо видеть один процесс, который все время потребляет больше
памяти (Примечание: это нормально для некоторых процессов, таково как Протокол ворот границы (BGP) или маршрутизатор
Открытого кратчайшего пути сначала (OSPF), которое будет использовать больше чем один мегабайт памяти; это не означает, что они
протекают).
Для идентификации процесса, который потребляет больше памяти выдержите сравнение, колонка Холдинга шоу обрабатывает
команду памяти по временному интервалу. Иногда можно очень ясно видеть, что один процесс держит несколько мегабайтов памяти.
Иногда требуется несколько снимков для нахождения преступника. Когда существенное количество памяти было потеряно, собирает
выставочную общую команду процесса распределения памяти или показывает команду резюме памяти для дополнительного
поиска неисправностей. Тогда свяжитесь с Центром технической помощи (TAC) Cisco и предоставьте информацию, которую вы
собрали, наряду с выставочным резюме технической поддержки маршрутизатора.
Переводчик Продукции инструмент позволяет вам получать анализ выставочной общей команды процесса распределения памяти
или выставочной продукции резюме памяти.
Стол дает первые три линии выставочной продукции команды резюме памяти:
Router>show memory summary
Processor
I/O
Head
60AB4ED0
40000000
Total (b)
5550384
16777216
Used (b)
2082996
1937280
Free (b)
3467388
14839936
Lowest (b)
3464996
14839936
Largest (b)
3454608
14838908
Общее количество = общая сумма памяти, доступной после системного изображения, загружает и строит свои структуры данных.
Используемый = объем памяти в настоящее время ассигнован.
Свободный = объем памяти, в настоящее время свободный.
Самый низкий = самая низкая сумма бесплатной памяти, зарегистрированной маршрутизатором, так как это было в последний раз
загружено.
Самый большой = самый большой свободный в настоящее время доступный блок памяти.
Выставочная общая команда процесса распределения памяти содержит ту же самую информацию как первые три линии
выставочной команды резюме памяти.
Вот то, что можно узнать из выставочной продукции команды памяти процессов:
Router>show processes memory
Total: 3149760, Used: 2334300, Free: 815460
PID
0
0
0
1
2
TTY
0
0
0
0
2
Allocated
226548
320
5663692
264
5700
Freed
1252
5422288
2173356
264
5372
Holding
1804376
320
0
3784
13124
Getbufs
0
0
1856100
0
0
Retbufs
0
0
0
0
0
Process
*Initialization*
*Scheduler*
*Dead*
Load Meter
Virtual Exec
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
96
264
2028
96
504
0
136
136
340
445664
2365804
528
188
0
5852116
0
0
264
672
0
264
0
0
0
340
442936
2357152
264
0
1608
0
6784
6880
6784
8812
6880
7024
6784
6920
6920
12784
13904
17992
7048
9972
6784
14236
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
Check heaps
Pool Manager
Timers
ARP Input
SERIAL A' detect
ATM ILMI Input
ILMI Process
M32_runts pring
Call drop procs
ATMSIG Timer
IP Input
CDP Protocol
MOP Protocols
IP Background
TCP Timer
TCP Protocols
Ассигнованный = общая сумма байтов, которые были ассигнованы процессом, так как маршрутизатор загрузил.
Освобожденный = общая сумма байтов, которые были выпущены этим процессом.
Удерживание = общая сумма байтов, в настоящее время проводимых этим процессом. Это - самая важная колонка для поиска
неисправностей, потому что это показывает фактический объем памяти, приписанный этому процессу. Холдинг не обязательно
равняется Ассигнованный минус Освобожденный, потому что некоторые процессы ассигнуют блок памяти, которая позже возвращена
в свободный бассейн другим процессом.
*мертвый* процесс
*мертвый* процесс не является реальным процессом. Это должно там составлять память, ассигнованную под контекстом другого
процесса, который закончился. Память, ассигнованная этому процессу, исправлена ядром и возвращена к фонду памяти самим
маршрутизатором при необходимости. Это - способ, которым IOS обращается с памятью. Блок памяти рассматривают как мертвый,
если процесс, который создал выходы блока (больше не бегущий). Каждый блок отслеживает адрес и изодромный с предварением из
процесса, который создал его. Во время периодического соответствия памяти, если процесс, который планировщик находит из блока
изодромный с предварением, не соответствует процессу, который помнил блок, блок отмечен как мертвый.
Поэтому, память, отмеченная как принадлежащий процессу *Мертвый*, была ассигнована под контролем процесса, который больше не
бежит. Нормально иметь значительный кусок памяти в таком государстве. Вот пример:
Память ассигнована при формировании Сетевого перевода адреса (NAT) во время сессии TELNET. Та память составляется при
процессе TELNET ("Действительное Должностное лицо"). Как только этот процесс закончен, память для конфигурации NAT находится
все еще в использовании. Это показывают с помощью *мертвый* процесс.
Вы видите, под которым контекстом память была ассигнована с помощью выставочной памяти мертвая команда, под "Какой"
колонка:
Router#show memory dead
Head
Total(b)
I/O
600000
2097152
Used(b)
461024
Free(b)
1636128
Lowest(b) Largest(b)
1635224
1635960
Processor memory
Address
1D8310
2CA964
2CAA04
2CAAA0
2ED714
2F12AC
2F1304
2F1348
300C28
Bytes Prev.
60 1D82C8
36 2CA914
112 2CA9B4
68 2CAA04
52 2ED668
44 2F124C
24 2F12AC
68 2F1304
340 300A14
Next
1D8378
2CA9B4
2CAAA0
2CAB10
2ED774
2F1304
2F1348
2F13B8
300DA8
Ref
1
1
1
1
1
1
1
1
1
PrevF
NextF
Alloc PC
3281FFE
3281FFE
3A42144
3A420D4
3381C84
3A50234
3A420D4
3381C84
3381B42
What
Router Init
Router Init
OSPF Stub LSA RBTree
Router Init
Router Init
Router Init
Router Init
Router Init
Router Init
Если утечка памяти обнаружена, и *Мертвый*, процесс, кажется, тот, потребляющий память, включает выставочную память,
мертвую в информацию, предоставленную Cisco TAC.
Большое количество памяти, используемой для нормальных или неправильных процессов
Это - одна из самых трудных причин проверить. Проблема характеризуется большой суммой бесплатной памяти, но маленькой
стоимостью в "Самой низкой" колонке. В этом случае нормальное или неправильное событие (например, большая нестабильность
направления) заставляет маршрутизатор использовать необычно большую сумму памяти процессора в течение короткого периода
времени, в течение которого закончилась память. Во время того периода маршрутизатор сообщает о MALLOCFAIL. Это могло бы
произойти, что вскоре после, память освобождена, и проблема исчезает (например, сеть стабилизируется). Нехватка памяти может
также произойти из-за комбинации факторов, таких как:
утечка памяти, которая потребляла большой объем памяти, и затем сетевую нестабильность, выдвигает бесплатную память нолю
маршрутизатор не имеет достаточной памяти для начала, но проблема обнаружена только во время редкого сетевого события.
Если маршрутизатор не был перезагружен, войдите в выставочную общую команду процесса распределения памяти (или
выставочное резюме памяти, если выставочные общие количества процесса распределения памяти не доступны), и смотрите на
первые три линии. Сообщения регистрации могут дать представления о том, какой процесс потреблял большую память:
Если большое использование памяти происходило из-за a:
нормальное событие, решение состоит в том, чтобы установить больше памяти.
редкое или неправильное событие, решите связанную проблему. Можно тогда решить купить дополнительную память для
будущей "страховки".
Проблема фрагментации памяти или ошибка
Эта ситуация означает, что процесс потреблял большую сумму памяти процессора и затем выпустил больше всего или все это, оставляя
фрагменты памяти все еще ассигнованными или этим процессом, или другими процессами, которые ассигновали память во время
проблемы. Если то же самое событие имеет место несколько раз, память может фрагментировать в очень маленькие блоки к пункту, где
все процессы, требующие большего блока памяти, не могут получить объем памяти, в котором они нуждаются. Это может затронуть
эксплуатацию маршрутизатора до такой степени, что вы не можете соединиться с маршрутизатором и получить быстрое, если ужасно
фрагментирована память.
Эта проблема характеризуется низкой стоимостью в "Самой большой" колонке (менее чем 20,000 байтов) выставочной команды
памяти, но достаточная стоимость в "Освобожденной" колонке (1 МБ или больше), или некоторое другое широкое неравенство между
этими двумя колонками. Это может произойти, когда маршрутизатор становится очень низким на памяти, так как нет никакого
установленного порядка дефрагментации в IOS.
Если вы подозреваете фрагментацию памяти, закрываете некоторые интерфейсы. Это может освободить фрагментированные блоки.
Если это работает, память ведет себя обычно, и все, что необходимо сделать, добавляет больше памяти. Если закрытие интерфейсов не
помогает, это может быть ошибка. Лучший план действий должен связаться с вашим представителем службы поддержки Cisco с
информацией, которую вы собрали.
Неудача Распределения памяти при Процессе = прерывает уровень
Эта ситуация может быть определена процессом в сообщении об ошибке. Если процесс перечислен как <уровень перерыва>, как в
следующем примере, то неудача распределения памяти вызывается проблемой программного обеспечения.
"%SYS-2-MALLOCFAIL: Memory allocation of 68 bytes failed from 0x604CEF48,
pool Processor, alignment 0-Process= <interrupt level>, ipl= 3"
Это - ошибка Интернет-операционной системы (IOS) Cisco. Можно использовать Набор инструментов Ошибки (только
зарегистрированные клиенты) для поиска соответствующей программной ошибки ID для этой проблемы. Как только программная
ошибка была определена, модернизация версии программного обеспечения Cisco IOS, которая содержит фиксацию для решения
проблемы.
Истощение памяти из-за загрузки за пользовательские списки доступа
Списки доступа могут потреблять большую память, когда они используются на за пользовательское основание. Списки доступа
являются слишком большими, чтобы быть классифицированными как мини-списки контроля доступа (ACLs) и теперь составлены как
турбо ACLs. Каждый раз, когда это происходит, процесс TACL должен втолкнуть и обработать новый ACL. Это может привести к
движению, разрешаемому или отрицаемому основанным на времени компиляции и доступной продолжительности обработки.
Собранные ACLs нужно послать вниз в XCM. Когда существует только доступное ограниченное пространство и как только память
является пробегом его, сообщения пульта замечены и запуски дефрагментатора памяти.
Это - работа:
Использование краткого ACLs, меньше числа Прикладных Двигателей Контроля (ACEs), который соберет как мини-ACLs, и это
уменьшит и в потреблении памяти и в вычислительной мощности для компиляции.
Использование предопределенных ACLs на маршрутизаторе, на которые ссылаются через радиус, приписывает filterID.
Известные проблемы
Известный 70x0 проблема при Погрузке Большого программного обеспечения Cisco IOS от Flash или Netboot
Когда 7000 Процессоров маршрута (RP) загружают изображение от Вспышки, они сначала загружают изображение ROM и затем
изображение вспышки в память. Старый RP только имеет 16 МБ памяти, и версии Предприятия программного обеспечения Cisco IOS
выпускают позже, чем версия 11.0 больше, чем 8 МБ, когда несжатый. Поэтому при погрузке изображения от ROM и затем Вспышки
7000 RP может исчерпать память, или память может стать фрагментированной во время процесса программы начального пуска так,
чтобы маршрутизатор имел связанные с памятью сообщения об ошибках.
Решение состоит в том, чтобы позволить Быстрый Ботинок из регистра конфигурации так, чтобы RP только загрузил минимальное
подмножество изображения программного обеспечения Cisco IOS в ROM, и затем загрузил полное программное обеспечение Cisco IOS
от Вспышки. Для предоставления возможности Быстрого Ботинка установите регистр конфигурации в 0x2112. Это также ускорит
процесс загрузки.
Вход IP и открытие CiscoWorks UT
Использование функции Открытия UT CiscoWorks может заставить сумму бесплатной памяти становиться очень небольшой на
некоторых ваших маршрутизаторах. Шоу proc команда памяти может указать на большую память, поддержавшую "входным
процессом" IP. Это - особый случай Большого Количества Памяти, Используемой для Нормальной или Неправильной проблемы
Процессов для "входного процесса" IP, который может также привести к проблеме Фрагментации Памяти, если низкое условие памяти
заставляет память быть фрагментированной.
Особенность Открытия UT заставляет Сетевую управленческую Станцию отсылать зачистку звона для всего IPs в каждой
обнаруженной подсети. Проблемы памяти вызваны растущим размером тайника быстрого переключения IP на маршрутизаторе, потому
что новые записи тайника созданы для каждого нового места назначения. Так как маска, используемая для записей в тайнике, зависит
от того, как это - subnetted, присутствие адреса с помощью 32-битной маски (например, петлевого адреса) в главной сети заставляет все
записи для той сети использовать 32-битную маску. Это приводит к огромному числу записей тайника, которые будут созданы, с
помощью большого объема памяти.
Лучшее решение состоит в том, чтобы отключить Открытие UT. Можно сделать это путем выполнения шагов ниже:
1. Пойдите в C:\Program Files\CSCOpx\etc\cwsi\ANIServer.properties.
2. Добавьте "UTPingSweep=0".
3. Перезапуск ANI.
Это может заставить Пользователя, Отслеживающего стол пропускать некоторые серверы конца или выходить из моды (это могло бы
быть проблемой с другим применением Cisco под названием Пользовательский Регистрационный Инструмент, который полагается на
UT), но это не затрагивает Открытие Кампуса, которое использует только движение SNMP. Переключение CEF может также улучшить
эту ситуацию (с CEF, тайник IP создан из таблицы маршрутизации в программе начального пуска). Обратитесь к тому, Как Выбрать
Лучший Путь Переключения Маршрутизатора для Вашей Сети для получения дополнительной информации о CEF и других доступных
путях переключения.
Существует много других заявлений, которые могут привести к подобным низким ситуациям с памятью. В большинстве случаев
первопричиной проблемы не является маршрутизатор, но само применение. Обычно необходимо быть в состоянии предотвратить те
штормы пакета путем проверки конфигурации применения.
Недостаточно совместно используемой памяти для интерфейсов
Некоторые маршрутизаторы (например, 2600, 3600, и 4000 Рядов) требуют, чтобы минимальное количество памяти I/O поддержало
определенные интерфейсные процессоры.
Если маршрутизатор испытывает нехватку совместно используемой памяти, даже после того, как перезагружение, физически удаление
интерфейсов решит проблему.
На 3600 Серийных Маршрутизаторах глобальный размер памяти команды конфигурации iomem i/o-memory-percentage может
использоваться для перераспределения процента DRAM для использования для памяти I/O и памяти процессора. Ценности,
разрешенные для i/o-memory-percentage, равняются 10, 15, 20, 25 (неплатеж), 30, 40, и 50. Минимум 4 МБ памяти требуется для памяти
I/O.
Для поиска неисправностей этой проблемы обратитесь к:
Требования совместно используемой памяти для 4000/4500/4700 маршрутизаторов.
Буферная ошибка утечки
Если вы имеете продукцию выставочной команды буферов или покажите команду технической поддержки (в, позволяют способ) от
вашего устройства Cisco, можно использовать Переводчика Продукции (только зарегистрированные клиенты) для показа
потенциальных проблем и исправлений. Для использования Переводчика Продукции (только зарегистрированные клиенты)
необходимо быть зарегистрированным клиентом, быть загружены, и позволять JavaScript.
Когда процесс закончен с буфером, процесс должен освободить буфер. Буферная утечка происходит, когда кодекс забывает
обрабатывать буфер или забывает освобождать его после того, как он сделан с пакетом. В результате буферный бассейн продолжает
расти, поскольку все больше пакетов застревает в буферах.
Можно определить буферную утечку с помощью выставочной команды буферов. Некоторые Общественные Буферные бассейны
должны быть неправильно большими с немногими свободными буферами. После перезагружения можно видеть, что число свободных
буферов никогда не рядом с числом полных буферов.
Переводчик Продукции инструмент позволяет вам получать анализ выставочной продукции буферов.
В примере ниже, затронуты Средние буфера. Выставочная команда буферов указывает, что почти 8094 буфера используются и не
освобождаются (8122 общих количества минус 28 свободных):
Public buffer pools: Small buffers, 104 bytes (total 50, permanent 50):
50 in free list (20 min, 150 max allowed)
403134 hits, 0 misses, 0 trims, 0 created
0 failures (0 no memory)
Middle buffers, 600 bytes (total 8122, permanent 200):
28 in free list (10 min, 300 max allowed)
154459 hits, 41422 misses, 574 trims, 8496 created
Big buffers, 1524 bytes (total 50, permanent 50):
50 in free list (5 min, 150 max allowed)
58471 hits, 0 misses, 0 trims, 0 created
0 failures (0 no memory)
VeryBig buffers, 4520 bytes (total 10, permanent 10):
10 in free list (0 min, 100 max allowed)
0 hits, 0 misses, 0 trims, 0 created
0 failures (0 no memory)
Large buffers, 5024 bytes (total 0, permanent 0)
0 in free list (0 min, 10 max allowed)
0 hits, 0 misses, 0 trims, 0 created
0 failures (0 no memory)
Huge buffers, 18024 bytes (total 0, permanent 0):
0 in free list (0 min, 4 max allowed)
0 hits, 0 misses, 0 trims, 0 created
0 failures (0 no memory)
Это - программная ошибка Cisco IOS. Модернизируйте до последней версии в вашем поезде выпуска для исправления известных
буферных ошибок утечки (например, если вы управляете Выпуском 11.2 (14) программного обеспечения Cisco IOS, модернизируете до
последнего 11.2 (x) изображение. Если это не помогает, или если не возможно модернизировать маршрутизатор, выпустить следующие
команды для проблемного бассейна, когда маршрутизатор является низким на памяти. Эти команды покажут дополнительную
информацию о содержании буферов:
покажите старый буфер: шоу ассигновали буфера больше чем одна старая минута
покажите буферный бассейн (маленький - середину - большой - verybig - большой - огромный): показывает резюме буферов
для указанного бассейна
покажите буферный бассейн (маленький - середину - большой - verybig - большой - огромный) свалка: показывает свалку
ведьмы/ASCII всех буферов в использовании данного бассейна.
Обратитесь к Поиску неисправностей Буферных Утечек для дополнительных деталей.
Маршрутизатор, испытывающий нехватку быстрой памяти
Эта проблема является определенной для 7500 рядов. Если маршрутизатор исчерпает "быструю" память, то он будет использовать свой
главный Динамический RAM (DRAM) вместо этого. Никакое действие не требуется.
IPFAST-4-RADIXDELETE: Ошибка, пытающаяся удалить вход префикса [IP_address] / [декабрь]
(ожидаемый [околдовывают], добралась [околдовывают]),
Сообщение об ошибке IPFAST-4-RADIXDELETE: Error trying to delete prefix entry [IP_address]/[dec]
(expected [hex], got [hex]) указывает, что Маршрутизаторы, Быстро Переключающие стол в Тайнике в память,
коррумпированы. Когда маршрутизатор пытается очистить стол в тайнике при нормальной обработке, или ясная IP команда тайника
введена, система не удаляет записи из-за повреждения памяти. Когда маршрутизатор не удаляет такой вход, о сообщении IPFAST-4RADIXDELETE сообщают.
Для решения вопроса повреждения памяти стола в тайнике твердая перезагрузка маршрутизатора необходима. Перезагрузка повторно
вырежет системные структуры памяти и позволит быстрому тайнику восстанавливать без коррупции.
%SYS-2-CHUNKEXPANDFAIL: не Мог расширить бассейн куска для Битового массива TACL. Никакая
доступная память
Причина сообщения об ошибке %SYS-2-CHUNKEXPANDFAIL: Could not expand chunk pool for TACL Bitmap. No
memory available состоит в том, что существует недостаточно памяти процессора, оставленной выращивать определенный
бассейн куска. Это возможно вызвано процессом, который ведет себя неправильно.
Работа должна периодически захватить (в зависимости от частоты проблемы) продукцию этих команд так, чтобы могло быть
проверено использование памяти маршрутизатора:
покажите сортированную память процессов
покажите статистику памяти
покажите общие количества процесса распределения памяти
Поиск неисправностей резюме
Объедините неудачи распределения памяти "процессора"
Выполните эти шаги.
1. Проверьте требования к памяти на свою версию выпуска программного обеспечения Cisco IOS или набор признаков.
2. Если возможно, модернизация последнего программного обеспечения Cisco IOS выпускают версию в вашем поезде выпуска.
3. Проверьте на большое количество памяти, используемой для нормальных или неправильных процессов. При необходимости
добавьте больше памяти.
4. Проверьте, является ли это утечкой или фрагментацией (буферная утечка на высококачественных маршрутизаторах).
5. Соберите релевантную информацию и свяжитесь с TAC.
Объедините Неудачи Распределения Памяти "I/O" ("Процессор" на высококачественных
маршрутизаторах, "PCI" на 7200 рядах)
Выполните эти шаги:
1. Проверьте требования совместно используемой памяти (см. Недостаточно Совместно используемой памяти для Интерфейсов).
2. Если возможно, модернизация последнего программного обеспечения Cisco IOS выпускают версию в вашем поезде выпуска.
3. Определите, какой буферный бассейн затронут, соберите релевантную информацию и свяжитесь с Cisco TAC.
Информация, чтобы Собраться, если Вы Открываете Запрос на обслуживание TAC
Если вы все еще нуждаетесь в помощи после выполнения шагов поиска
неисправностей выше и хотите открыть Запрос на обслуживание TAC
(только зарегистрированные клиенты), несомненно будут включать
следующую информацию:
Поиск неисправностей выполненного прежде, чем открыть случай
покажите продукцию технической поддержки (в, позволяют способ,
если возможный) - многократные захваты, чтобы показать, как
использование маршрутизатора памяти изменилось в течение долгого
времени
покажите продукцию регистрации или утешьте захваты при наличии
покажите общие количества бассейна распределения памяти или
покажите резюме памяти - многократные захваты, чтобы показать, как
использование маршрутизатора памяти изменилось в течение долгого
времени
Когда Пульт Не Отвечает для получения информации, вы, возможно, должны
были бы использовать методы в "Неспособном Создать EXEC" Ошибка или.
Многократные захваты информации могут быть необходимыми для
определения причины проблемы. Как существует несколько типов утечек
памяти, инженеру TAC, возможно, понадобится дополнительная информация,
как только определен тип утечки памяти. Если вы подозреваете проблему
фрагментации памяти, включайте:
покажите бесплатную память
покажите больше память
Если вы подозреваете буферную утечку, включайте:
покажите старый буфер
покажите буферный бассейн (маленький - середину - большой verybig - большой - огромный): для проблемного бассейна. Например,
если вы подозреваете утечку в среднем бассейне, включаете
выставочную середину бассейна буфера команды
покажите буферный бассейн (маленький - середину - большой verybig - большой - огромный) пакет: для проблемного бассейна.
Например, если вы подозреваете утечку в среднем бассейне, включаете
средний пакет бассейна буфера шоу команды
Можно приложить информацию к случаю путем загрузки его с помощью
Инструмента Запроса на обслуживание TAC (только зарегистрированные
клиенты). Если вы не можете получить доступ к Инструменту Запроса на
обслуживание, можно послать информацию в почтовом приложении к
attach@cisco.com с номером дела в строке темы сообщения для приложения
релевантной информации к случаю.
Примечание: вручную не перезагружайте или цикл власти маршрутизатор
прежде, чем собрать вышеупомянутую информацию, если не требуется для
поиска неисправностей проблем памяти, поскольку это может заставить
важную информацию быть потерянной, который необходим для определения
первопричины проблемы. Ваш инженер TAC может предложить перезагрузить
маршрутизатор и собрать дополнительную информацию после перезагружения
как часть поиска неисправностей, в зависимости от причины.
Соответствующая информация
Технические примечания по поиску и устранению неисправностей
© 1992-2015 Cisco Systems, Inc. Все права защищены.
Дата генерации PDF файла: 17 октября 2015
http://www.cisco.com/cisco/web/support/RU/106/1068/1068280_mallocfail.html
Download