Справочник системных ошибок и решений

Windows Server, Active Directory, 1С:Предприятие, СУБД, Linux, Cisco, MikroTik, Asterisk.

⚠️ Важная информация Все материалы, инструкции, команды и скрипты на сайте предоставлены исключительно в ознакомительных целях. Их применение может повлиять на работу операционной системы, программного обеспечения, баз данных, сетевого оборудования и других компонентов инфраструктуры. Перед выполнением действий создайте резервную копию и по возможности протестируйте изменения в безопасной среде. Пользователь самостоятельно оценивает риски и несет ответственность за результат. При отсутствии необходимых знаний обратитесь к квалифицированному ИТ-специалисту.

BGP_OUT_OF_MEMORY Сетевое оборудование и VPN

Траблшутинг нехватки памяти при приеме BGP Full View (Out of Memory)

Обновлено: 25.08.2026 · Официальная документация ↗
  • Маршрутизатор аварийно перезагружается с сообщением %SYS-2-MALLOCFAIL: Memory allocation failed.
  • BGP сессия переходит в состояние Active или Connect, сбрасывая соединение при получении префиксов.
  • Консоль фиксирует падение демона маршрутизации: %BGP-3-MAXPFX: No of prefixes received from x.x.x.x reaches limit.
  • Ошибки распределения аппаратной памяти CEF/TCAM: %FIB-3-FIBFAULT.

1. Анализ потребления памяти BGP таблицей

На сегодняшний день глобальная таблица IPv4 BGP Full View превышает 950 000 маршрутов, а IPv6 — 200 000. Прием 2–3 Full View каналов требует не менее 4–8 ГБ оперативной памяти только под нужды процесса BGP (BGP Path Attributes, RIB, Loc-RIB).

2. Проверка состояния памяти и емкости префиксов

! Проверка доступной системной памяти
show memory statistics

! Проверка количества маршрутов по соседям
show ip bgp summary

! Анализ памяти, занимаемой непосредственно BGP
show ip bgp memory

3. Ограничение входящих префиксов (Maximum-Prefix Protection)

Для предотвращения аварийного падения router OOM при переполнении таблицы аплинком настройте лимит:

router bgp 65001
 neighbor 198.51.100.1 remote-as 64500
 ! Предупреждение на 85%, разрыв сессии на 1 000 000 префиксов
 neighbor 198.51.100.1 maximum-prefix 1000000 85 restart 15

4. Отключение неоптимального Soft Reconfiguration Inbound

Директива soft-reconfiguration inbound удваивает потребление оперативной памяти, так как хранит исходную копию всех префиксов до фильтрации:

router bgp 65001
 neighbor 198.51.100.1 remote-as 64500
 ! Отключаем дублирование памяти
 no neighbor 198.51.100.1 soft-reconfiguration inbound
 ! Вместо этого используем стандартный Route Refresh (RFC 2918)
 exit

5. Переход на схему Default-Route + IX/Local Prefixes

Если объем оперативной памяти ограничен (например, 2GB RAM), запросите у оператора отправку маршрута по умолчанию и клиентских префиксов:

ip prefix-list PL_RFC1918_AND_DEFAULT permit 0.0.0.0/0

route-map RM_UPSTREAM_IN permit 10
 match ip address prefix-list PL_RFC1918_AND_DEFAULT
!
router bgp 65001
 neighbor 198.51.100.1 route-map RM_UPSTREAM_IN in
💡 Практика специалистов: Если маршрутизатор пограничного уровня имеет менее 4 ГБ RAM, прием даже двух Full View от разных провайдеров приведет к неминуемому MALLOCFAIL и падению оборудования. Настаивайте на получении от Upstream-провайдеров только Default Route + Direct Customers.

Частые вопросы (FAQ)

Почему после очистки маршрутов BGP оперативная память не возвращается операционной системе сразу?

В Cisco IOS/IOS-XE менеджер памяти не всегда возвращает освобожденные страницы ядру немедленно из-за фрагментации пулов (Memory Fragmentation). Память резервируется под будущие аллокации процесса BGP.

Что такое Route Refresh Capability и почему оно лучше Soft Reconfiguration?

Route Refresh (RFC 2918) позволяет динамически запросить у соседа повторную передачу обновлений BGP без сброса TCP сессии. В отличие от Soft Reconfiguration Inbound, оно не требует хранения гигабайтов нефильтрованных префиксов в оперативной памяти.

Как защитить TCAM коммутатора при приеме Full View?

Коммутаторы (L3 Switches) имеют жестко ограниченную память TCAM (обычно 32k-128k маршрутов). На них категорически запрещено принимать Full View — необходимо фильтровать входящие анонсы до default-route или суммаризированных префиксов /16-/24.

Что означает статус 'restart 15' в директиве maximum-prefix?

Это указывает маршрутизатору автоматически попытаться восстановить сброшенную BGP-сессию через 15 минут после превышения установленного лимита префиксов.

Полезные материалы
Рекомендуем