Jump to content
Калькуляторы

Загрузка одного из ядер процессора 100%

Доброго времени суток!

Пару месяцев назад в сети стали появляться периодические "подвисания" (потери пакетов). Стали разбираться с проблемой и обнаружили, что загрузка одного ядра (cpu23) прыгает 20-80% и часто на длительное время доходит до 100%. Причём общая загрузка процессора 1-3%.

Стали разбираться, загрузка ядра происходит от firewall-а. Естественно первым делом стали проверять запросы DNS. Там всё нормально. В итоге обнаружили, что если открыть вкладку IP - Firewall - Connections, то загрузка ядра резко снижалась (до 7-20%) и такой оставалась. Стоило перейти с этой вкладки на другую (так, чтобы ни в одном WinBox она не была открыта), то через некоторое время загрузка этого ядра снова возрастала до 100%. В том числе и почти сразу после перезагрузки маршрутизатора. Кстати, после перезагрузки проблема снова возникала на этом же ядре. Прошивка была вроде 7.12.1. Модель микротик CCR1036-8G-2S+

Причину возникновения проблемы найти не смогли и оставили до появления новой прошивки. А до выхода новой прошивки на одном из серверов запустили WinBox и там открыли эту вкладку. Месяц так работали, потом в итоге обновили до 7.13.5 и всё вроде как прошло. 

НО по прошествию где-то месяца снова начались проблемы с загрузкой ядра процессора. Теперь аналогичная проблема на cpu3.

Я, правда, ещё не пробовал перезагрузить маршрутизатор (очень сложно найти время, когда дадут добро на его перезагрузку), но даже если это и поможет, то исходя из опыта то не более, чем на месяц... Проще снова открыть вкладку IP - Firewall - Connections на каком-то из серверов и ждать новую прошивку.

Никто не встречался с таким поведением микротик? Откуда могут ноги расти у этой проблемы?

 

Дополнение:

1/4/2024 7:30 перезагрузил mikrotik. Нагрузка на ядра стала равномерной. Прошли сутки и вроде на одном из ядер процессора начинает увеличиваться загрузка. Теперь на cpu10 загрузка держится 15-35%. В пике до 53%. Наблюдаю дальше.

 

Дополнение 2:

3/4/2024 14:25  Загрузка одного из ядер процессора продолжает нарастать. На данный момент загрузка cpu10 держится в среднем 43-73%. В пике достигает 90%

 

Edited by БиоМакс
Появилась новая информация

Share this post


Link to post
Share on other sites

В 27.03.2024 в 14:24, БиоМакс сказал:

Прошивка была вроде 7.12.1. Модель микротик CCR1036-8G-2S+

Зачем такая прошивка, если CCR1036 еще работает с 6 версией?

 

В 27.03.2024 в 14:24, БиоМакс сказал:

Загрузка одного из ядер процессора продолжает нарастать. На данный момент загрузка cpu10 держится в среднем 43-73%. В пике достигает 90%

Смотрите настройки фасттрак.

Share this post


Link to post
Share on other sites

Цитата

Смотрите настройки фасттрак.

А не подскажете, в какую сторону там смотреть? Что искать? Из-за чего, из-за какой не правильной настройки может возникать так странно проявляющая себя проблема? Я не прошу решить за меня эту проблему, мне самому интересно её решить, просто пока не могу понять с какой стороны подойти. И в чём связь фасттрака и открытой/закрытой вкладки в Winbox? Непонятный вопрос, почему с открытой вкладкой в Winbox "IP - Firewall - Connections" всё работает без проблем месяцами, а при закрытой вкладке за несколько дней работы микротик после перезагрузки накапливается нагрузка на одно из ядер процессора. Ничего не меняя открываешь снова эту вкладку - и снова на ядре ноль. Зарываешь вкладку - и через 5 минут нагрузка снова. Перезагрузишь и снова можно 3-4 дня видеть постепенно накапливающуюся нагрузку на ядро.

 

Цитата

Зачем такая прошивка, если CCR1036 еще работает с 6 версией?

Ну как-то привычка использовать последние стабильные версии. Их же не просто так выпускают. 

 

Share this post


Link to post
Share on other sites

Когда на нашем отваливается graphing, тоже, кажется, ядро загружается на 100% (либо в целом, скачки на процессоре появляются). Помогает перезагрузка. 6.49.10

Share this post


Link to post
Share on other sites

Цитата

Когда на нашем отваливается graphing, тоже, кажется, ядро загружается на 100% (либо в целом, скачки на процессоре появляются). Помогает перезагрузка. 6.49.10

Graphing мы не используем. А перезагрузка и в нашем случае помогает. На три дня. За три дня после перезагрузки загрузка одного случайного ядра снова накапливается. И далее если открыть вкладку IP - Firewall - Connections, то загрузка ядра приходит в норму. Если с неё уйти или закрыть, то в течение 3-5 минут загрузка снова возрастает.
image.thumb.jpeg.f8dffb573f81abb72c17dd4dfee9e930.jpeg

 

Снова откроешь вкладку - снова в нули опускается

image.thumb.png.a3fac809d5d74c09f54f406f5ff5f231.png

 

И так до перезагрузки. После перезагрузки 3-4 дня постепенно растёт.

 

Share this post


Link to post
Share on other sites

Цитата

А если не вкладку открывать, а в консоли посмотреть?

А что посмотреть??? Проблема то только в том, что после перезагрузки в течении 3-4 дней накапливается нагрузка на одно из ядер процессора. И вкладку держим открытой только из-за того, что когда она открыта, то нагрузка на ядро очищается. Если всё закрыто (т.е. нет подключения к управлению микротиком и не открыта эта вкладка), то одно из ядер процессора накапливает нагрузку вплоть до 100%.

При этом после перезагрузки набор идёт в течении 3-4 дней, а если после этого открыть Winbox и перейти на эту вкладку, то загрузка ядра очищается до нормальных значений. Если после этого закрыть Winbox (или хотябы перейти на другую вкладку), то загрузка в течении нескольких минут снова нарастает.

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

Share this post


Link to post
Share on other sites

у меня советы на уровне "а что там стучит под полом":

- winbox у вас последней версии, 3.40? если нет, то обновите.

- ip - firewall - connections - tracking - tcp established  - попробуйте поставить минут 15.

- и, все же, поставьте 6.49 прошивку, ибо 7я ветка до сих пор в совершенно неожиданных местах сырая, аж капает. "стабильная" в терминологии микротика - это "бета" в терминологии всех остальных. long-term стабильная.

Share this post


Link to post
Share on other sites

Цитата

- winbox у вас последней версии, 3.40? если нет, то обновите.

Смысл??? В том то и дело, что проблема возникает когда Winbox не запущен и пропадает когда запускаешь Winbox и вкладку в нём. Но обновить - всё равно обновил. Лишним не будет.

Цитата

- ip - firewall - connections - tracking - tcp established  - попробуйте поставить минут 15

Вот это попробовал ещё раз. Ничего не меняется.

Цитата

- и, все же, поставьте 6.49 прошивку, ибо 7я ветка до сих пор в совершенно неожиданных местах сырая, аж капает. "стабильная" в терминологии микротика - это "бета" в терминологии всех остальных. long-term стабильная.

Вот это уже точно не вариант. Уже столько изменений в настройках с установленной 7-й версией сделано. Откатить вниз может уже не получиться. Проще работать с запущенным Winbox и открытой вкладкой IP - Firewall - Connections  пока в Mikrotik не пофиксят эту проблему. Вдруг они о ней уже знают и чинят.

 

 

 

Share this post


Link to post
Share on other sites

В 24.04.2024 в 09:23, БиоМакс сказал:

Смысл??? В том то и дело, что проблема возникает когда Winbox не запущен и пропадает когда запускаешь Winbox и вкладку в нём. Но обновить - всё равно обновил. Лишним не будет.

Так в консоли то же самое попробуйте выполнить - просмотр загрузки ядра, как на картинке в винбоксе.

 

Далее добавляете в планировщик и пусть каждые 30 минут запускается.

 

Либо просто запуск по стартапу роутера и пусть там monitor крутит просматривает данные через консоль до бесконечности.

Share this post


Link to post
Share on other sites

Цитата

Так в консоли то же самое попробуйте выполнить - просмотр загрузки ядра, как на картинке в винбоксе.

 

Далее добавляете в планировщик и пусть каждые 30 минут запускается.

 

Либо просто запуск по стартапу роутера и пусть там monitor крутит просматривает данные через консоль до бесконечности.

Однако да, через терминал тоже чистится ядро. Как временное решение такой вариант будет не плох. Начинаю тестировать.

Тем более, что в микротик заявку по проблеме держат без движения. Будем пока скриптом проблему решать. 

Спасибо!

Share this post


Link to post
Share on other sites

На х86 на версии 7.15.3 та-же проблема.

Пока лечится по крону:

/ip/firewall/connection/print where .dead

 

но ребут всё равно приходится делать.

 

сначала думал, что это из за периодического считывания раз в 10 минут /ip/firewall/connection/print на предмет анализа DDOS атак и блокировкой в /ip/firewall/raw через листы

но это не подтвердилось - отключал на сутки один процесс через сутки всё таки начал "выделятся" от остальных

 

потом подозревал что это из за постоянного висящего процесса через api который отрабатывал команды (считывание, добавление/удалиние IP из листов) свои через API на микротике, но т.к. у вас подобное поведение без постоянного соединения через api - то и это не подтверждается.

 

Я даже и не знаю куда копать.

 

Снимок экрана 2024-07-31 222728.png

Share this post


Link to post
Share on other sites

Отключить все лишние задачи - такие как блокировки DDOS и прочее - если оставить лишь функции роутера, убрать API и отправлять команды по SSH - проблем не возникает.

Share this post


Link to post
Share on other sites

Ради эксперимента решил проверить, в постоянных соединениях ли это API или нет:

 

Вместо постоянного API подключения и периодического опроса в 5 минут mikrotika на предмет dhcp lease, arp, address-list сделал самостоятельными API подключениями при каждом запросе - в итоге, за 4 часа данных запросов (раз в 5 минут) получил +40% загрузки на одном из CPU с процессом firewall.

 

Однако.

 

Буду пробовать данный механизм переделывать на ssh/telnet

 

Обновился до 7.16 - ситуация не поменялась, что бы полностью быть в этом уверенным быть.

Снимок экрана от 2024-10-08 16-30-40.png

Share this post


Link to post
Share on other sites

14 минут назад, VolanD666 сказал:

А вы зачем туда по API/SSH лазите?

У меня, например, был клиент - микропровайдер.
У него не было биллинга, а просто стояла 1С.
Ему надо было при отрицательном балансе в 1С отключать абонента в микротике.
Я написал небольшой скрипт, который дёргает баланс абонента из 1С и в микротике через API выключает/включает абонента.
Потом ещё добавили шейпер (в 1С выставляется скорость) 🙂

Edited by Morty

Share this post


Link to post
Share on other sites

Ну я бы попробовал бы отключить все эти "костыли" и посмотреть что будет. Если это поможет- значит надо делать архитектуру без костылей и возможно без микротиков...

Share this post


Link to post
Share on other sites

сдаунгрейдиться до 6 версии совсем никак? используете какие-то фичи, которых нет в ros6?

 

или вот как выше ТС писал - " Откатить вниз может уже не получиться."

всё же "может" или уже попробовали и не получилось?

Share this post


Link to post
Share on other sites

8 часов назад, Morty сказал:

API - устаревшая технология?

Эта технология не для целей управления списками доступа.

 

5 часов назад, Morty сказал:

Я написал небольшой скрипт, который дёргает баланс абонента из 1С и в микротике через API выключает/включает абонента.
Потом ещё добавили шейпер (в 1С выставляется скорость)

Если схема списания не привязана к 1 числу месяца, то скорость срабатывания не имеет никакого значения - по всем абонентам отправка команд распределяется в течении месяца.

 

Если нужно отправлять команды 1 числа, то надо в пределах одной сессии передавать одну команду без получения результата выполнения - отправили и все. Потом, если нужно получить списки для проверки - одной командой запросить сразу всю информацию и далее ее анализировать.

 

Ошибкой является работа, когда после отправки идет ожидание выполнения команды.

Share this post


Link to post
Share on other sites

1 час назад, Saab95 сказал:

Ошибкой является работа, когда после отправки идет ожидание выполнения команды.

У программиста от б-га грех код не попросить, покажете? 
 

или как обычно?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.