MikroTik Log: CPU overload: high load detected on core 0 — Оптимизация
В журнале появляется предупреждение system,warning: CPU overload: high load detected on core 0 (100%) при низкой нагрузке на остальные ядра.
- Падение общей пропускной способности маршрутизатора и резкий рост пинга (Jitter).
- Интерфейс WinBox начинает зависать и отключаться по таймауту.
- Потери пакетов при обработке очередей или правил файрвола.
- Асимметричная утилизация многоядерных процессоров (CCR / RB4011 / RB5009).
1. Профилирование процессов через инструмент Profile
Определите, какая именно подсистема ядра грузит процессор:
/tool profile cpu=allОсновные статьи нагрузки в выводе Profile:
firewall/connection-tracking: избыточные правила фильтрации, отсутствие FastTrack;networking/ethernet: обработка сетевых прерываний (IRQs) и софтового моста;queuing: большое количество очередей Simple Queues;crypto/ipsec: программное шифрование туннелей без Hardware Offloading;btest: запущенный встроенный тест скорости (Bandwidth Test).
2. Включение аппаратной разгрузки моста (L3 Hardware Offloading / HW Offload)
Убедитесь, что коммутация трафика выполняется свитч-чипом, а не центральным процессором:
/interface bridge port printВ столбце H (HW Offload) должна стоять буква H. Если ее нет, включите аппаратную разгрузку:
/interface bridge port set [find] hw=yes3. Активация FastTrack для транзитного трафика
FastTrack разгружает CPU, передавая большинство пакетов мимо тяжелых проверок файрвола:
/ip firewall filter add chain=forward action=fasttrack-connection connection-state=established,related comment="FastTrack" place-before=14. Оптимизация очередей (Переход от Simple Queues к Queue Tree)
Замените линейные Simple Queues на древовидные структуры /queue tree с PCQ, обрабатываемые параллельно всеми ядрами CPU.
5. Проверка генерации внутренних логов
Отключите избыточное логирование (Debug, Firewall, Topics: !info), создающее паразитную нагрузку на Core 0 при форматировании строк.
Частые вопросы (FAQ)
Почему в многоядерных маршрутизаторах (CCR) все прерывания идут на Core 0?
Некоторые сетевые интерфейсы или бестеговые мосты по умолчанию привязывают обработчик прерываний (Rx/Tx IRQ) к первому ядру. В RouterOS v7 диспетчер прерываний оптимизирован, но неразгруженный софтовый бридж всегда нагружает конкретное ядро.
Почему Bandwidth Test нельзя запускать с самого маршрутизатора?
Генерация трафика встроенным генератором Bandwidth Test требует колоссальных ресурсов CPU. Тестирование скорости 'роутер-роутер' нагрузит процессор на 100% задолго до того, как упрется в физическую полосу канала. Тестируйте сеть между двумя отдельными ПК через iperf3.
Совместим ли FastTrack с Bridge VLAN Filtering?
Да, начиная с RouterOS v7 FastTrack полноценно работает совместно с аппаратно разгруженным Bridge VLAN Filtering на совместимых свитч-чипах (Marvell, Realtek).
Как узнать нагрузку на каждое ядро процессора по отдельности?
Выполните команду /system resource cpu print. Отобразится таблица с процентной утилизацией каждого физического ядра.