MikroTik Log: system,error,critical out of memory — Аварийный ребут
В журнале после аварийной перезагрузки появляется сообщение system,error,critical: out of memory (rebooting to recover) или kernel failure: out of memory.
- Внезапная самопроизвольная перезагрузка маршрутизатора под нагрузкой.
- Создание файла аварийного дампа памяти
autosupout.rifв корне файловой системы/files. - Показатель
free-memoryв меню/system resourceперед падением стремится к нулю. - Отказ служб Winbox/WebFig и невозможность зайти по SSH перед перезагрузкой.
1. Анализ распределения памяти через Profile
Выявите процесс, потребляющий максимум ресурсов оперативной памяти:
/tool profile cpu=allПроверьте текущее использование памяти системой:
/system resource print2. Основные виновники утечек и переполнения памяти в RouterOS
- Кэш DNS: слишком большой размер кэша DNS-сервера (
cache-size). - BGP Full-View: прием полных таблиц маршрутизации BGP на маршрутизаторах с объемом RAM менее 1–2 GB.
- Системный лог в памяти: буфер логов с миллионом строк (
lines=100000). - The Dude / User Manager: работа встроенных баз данных на системном диске без внешнего накопителя.
- Скрипты и глобальные переменные: бесконечные массивы, сохраняемые в Environment.
3. Ограничение размера DNS-кэша и буфера логов
Уменьшите размер кэша встроенного DNS-резолвера:
/ip dns set cache-size=4096KiB cache-max-ttl=1dОграничьте размер хранения логов в оперативной памяти до стандартных 1000 строк:
/system logging action set memory memory-lines=10004. Фильтрация маршрутов BGP (Защита от переполнения RAM)
Если на роутер принимается Full View BGP, отфильтруйте мелкие префиксы (например, отсеките все маршруты длиннее /24) или принимайте только Default Route:
/routing filter rule add chain=BGP_IN where dst-len > 24 action=reject comment="Drop long prefixes to save RAM"5. Скачивание и анализ файла autosupout.rif
После падения скачайте файл autosupout.rif из меню /file и загрузите его на официальный портал анализа дампов MikroTik (https://mikrotik.com/client/supout) для проверки ядра на баги.
Частые вопросы (FAQ)
Сколько оперативной памяти минимально требуется для RouterOS v7?
Для стабильной работы базовых функций RouterOS v7 рекомендуется минимум 128 МБ RAM. Устройства с 32–64 МБ RAM (hAP lite, mAP lite) в v7 работают на пределе возможностей и требуют жесткой оптимизации сервисов.
Сколько памяти нужно для приема одной таблицы BGP Full-View в v7?
В RouterOS v7 одна полная таблица BGP Full-View (около 950 000 маршрутов) требует порядка 500–700 МБ свободной RAM. Принимать Full-View рекомендуется на устройствах уровня CCR2004/CCR2116 с объемом RAM от 4 GB.
Как очистить кэш DNS вручную?
Выполните команду /ip dns cache flush в терминале. Это немедленно освободит оперативную память, занятую закэшированными записями DNS.
Может ли FastTrack снизить потребление памяти?
Да, FastTrack существенно снижает нагрузку на CPU и ускоряет закрытие неактивных NAT-сессий, что косвенно снижает среднее потребление оперативной памяти структурами ядра.