Программное обеспечение Cisco IOS и NX-OS : Программное обеспечение Cisco IOS версии 12.1 Mainline

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

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


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


Содержание


Введение

Этот документ объясняет признаки и возможные причины неудачи распределения памяти (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 содержит информацию об обнаружении наиболее вероятных причин и определенных искусственных приемах.

Для получения дополнительной информации обратитесь к:

Размер памяти не Поддерживает Изображение программного обеспечения Cisco IOS

Во-первых, проверьте область программного обеспечения Загрузки (только зарегистрированные клиенты) для минимального размера памяти для набора признаков и версии, которой вы управляете. Удостоверьтесь, что это достаточно. Требования к памяти на Cisco.com являются минимальными рекомендуемыми размерами для правильного функционирования маршрутизатора в большинстве сетей компании. Фактические требования к памяти варьируются согласно протоколам, таблицам маршрутизации и транспортным образцам.

Ошибка утечки памяти

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

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

Это - ошибка Интернет-операционной системы (IOS) Cisco. Для избавлений от него модернизируйте до последней версии в поезде выпуска (например, если вы управляете выпуском 11.2 (14) программного обеспечения Cisco IOS, модернизируете до последнего 11.2 (x) изображение.

Если это не решает проблему, или если вы не хотите модернизировать маршрутизатор, входите, шоу обрабатывает команду памяти равномерно в течение времени (например, каждые несколько часов или дней в зависимости от того, есть ли у вас быстрая или медленная утечка). Проверьте, чтобы видеть, продолжает ли бесплатная память уменьшаться и никогда не возвращается. Уровень, по которому исчезает бесплатная память, зависит от того, как часто событие имеет место, который приводит к утечке. Так как память никогда не освобождается, можно отследить процесс, который использует память путем взятия снимков памяти в течение долгого времени. Следует иметь в виду, что различные процессы ассигнуют и освобождают память по мере необходимости, таким образом, вы будете видеть различия, но поскольку утечка продолжается, необходимо видеть один процесс, который все время потребляет больше памяти (Примечание: это нормально для некоторых процессов, таково как Протокол ворот границы (BGP) или маршрутизатор Открытого кратчайшего пути сначала (OSPF), которое будет использовать больше чем один мегабайт памяти; это не означает, что они протекают).

Для идентификации процесса, который потребляет больше памяти выдержите сравнение, колонка Холдинга шоу обрабатывает команду памяти по временному интервалу. Иногда можно очень ясно видеть, что один процесс держит несколько мегабайтов памяти. Иногда требуется несколько снимков для нахождения преступника. Когда существенное количество памяти было потеряно, собирает выставочную общую команду процесса распределения памяти или показывает команду резюме памяти для дополнительного поиска неисправностей. Тогда свяжитесь с Центром технической помощи (TAC) Cisco и предоставьте информацию, которую вы собрали, наряду с выставочным резюме технической поддержки маршрутизатора.

Переводчик Продукции инструмент позволяет вам получать анализ выставочной общей команды процесса распределения памяти или выставочной продукции резюме памяти.

Стол дает первые три линии выставочной продукции команды резюме памяти:

Router>show memory summary 

            Head       Total (b)   Used (b)  Free (b)   Lowest (b)  Largest (b)
Processor   60AB4ED0   5550384     2082996   3467388    3464996     3454608
I/O         40000000   16777216    1937280   14839936   14839936    14838908

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

Используемый = объем памяти в настоящее время ассигнован.

Свободный = объем памяти, в настоящее время свободный.

Самый низкий = самая низкая сумма бесплатной памяти, зарегистрированной маршрутизатором, так как это было в последний раз загружено.

Самый большой = самый большой свободный в настоящее время доступный блок памяти.

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

Вот то, что можно узнать из выставочной продукции команды памяти процессов:

Router>show processes memory 
Total: 3149760, Used: 2334300, Free: 815460

PID   TTY   Allocated    Freed      Holding    Getbufs    Retbufs   Process
0     0     226548       1252       1804376    0          0         *Initialization*
0     0     320          5422288    320        0          0         *Scheduler*
0     0     5663692      2173356    0          1856100    0         *Dead*
1     0     264          264        3784       0          0         Load Meter
2     2     5700         5372       13124      0          0         Virtual Exec
3     0     0            0          6784       0          0         Check heaps
4     0     96           0          6880       0          0         Pool Manager
5     0     264          264        6784       0          0         Timers
6     0     2028         672        8812       0          0         ARP Input
7     0     96           0          6880       0          0         SERIAL A' detect
8     0     504          264        7024       0          0         ATM ILMI Input
9     0     0            0          6784       0          0         ILMI Process
10    0     136          0          6920       0          0         M32_runts pring
11    0     136          0          6920       0          0         Call drop procs
12    0     340          340        12784      0          0         ATMSIG Timer
13    0     445664       442936     13904      0          0         IP Input
14    0     2365804      2357152    17992      0          0         CDP Protocol
15    0     528          264        7048       0          0         MOP Protocols
16    0     188          0          9972       0          0         IP Background
17    0     0            1608       6784       0          0         TCP Timer
18    0     5852116      0          14236      0          0         TCP Protocols

Ассигнованный = общая сумма байтов, которые были ассигнованы процессом, так как маршрутизатор загрузил.

Освобожденный = общая сумма байтов, которые были выпущены этим процессом.

Удерживание = общая сумма байтов, в настоящее время проводимых этим процессом. Это - самая важная колонка для поиска неисправностей, потому что это показывает фактический объем памяти, приписанный этому процессу. Холдинг не обязательно равняется Ассигнованный минус Освобожденный, потому что некоторые процессы ассигнуют блок памяти, которая позже возвращена в свободный бассейн другим процессом.

*мертвый* процесс

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

Поэтому, память, отмеченная как принадлежащий процессу *Мертвый*, была ассигнована под контролем процесса, который больше не бежит. Нормально иметь значительный кусок памяти в таком государстве. Вот пример:

Память ассигнована при формировании Сетевого перевода адреса (NAT) во время сессии TELNET. Та память составляется при процессе TELNET ("Действительное Должностное лицо"). Как только этот процесс закончен, память для конфигурации NAT находится все еще в использовании. Это показывают с помощью *мертвый* процесс.

Вы видите, под которым контекстом память была ассигнована с помощью выставочной памяти мертвая команда, под "Какой" колонка:

Router#show memory dead 
               Head   Total(b)    Used(b)    Free(b)  Lowest(b) Largest(b) 
      I/O    600000    2097152     461024    1636128    1635224    1635960 
  
          Processor memory 
  
 Address  Bytes Prev.    Next     Ref  PrevF   NextF   Alloc PC  What 
1D8310       60 1D82C8   1D8378     1                  3281FFE   Router Init 
2CA964       36 2CA914   2CA9B4     1                  3281FFE   Router Init 
2CAA04      112 2CA9B4   2CAAA0     1                  3A42144   OSPF Stub LSA RBTree 
2CAAA0       68 2CAA04   2CAB10     1                  3A420D4   Router Init 
2ED714       52 2ED668   2ED774     1                  3381C84   Router Init 
2F12AC       44 2F124C   2F1304     1                  3A50234   Router Init 
2F1304       24 2F12AC   2F1348     1                  3A420D4   Router Init 
2F1348       68 2F1304   2F13B8     1                  3381C84   Router Init 
300C28      340 300A14   300DA8     1                  3381B42   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.

Для поиска неисправностей этой проблемы обратитесь к:

Буферная ошибка утечки

Если вы имеете продукцию выставочной команды буферов или покажите команду технической поддержки (в, позволяют способ) от вашего устройства 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-4-RADIXDELETE сообщают.

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

%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 может предложить перезагрузить маршрутизатор и собрать дополнительную информацию после перезагружения как часть поиска неисправностей, в зависимости от причины.

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

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


Соответствующая информация


Document ID: 6507