⚡ Linux: nice — для слабаков. Управляем Real-Time приоритетами с chrt
Боль: У вас есть критически важный процесс (например, VoIP-шлюз, база данных или процесс сбора метрик), который "заикается" или тормозит, когда сервер нагружен архивацией логов.
Реакция админа: renice -n -20 <PID>. (Это не поможет, если CPU загружен на 100%. Планировщик всё равно будет "честно" делить время).
Реакция архитектора: Использовать Real-Time Scheduler (SCHED_FIFO или SCHED_RR).
chrt — это утилита для управления планировщиком процессов.
Как это работает: Обычные процессы работают в классе SCHED_OTHER. Real-Time процессы (RT) имеют абсолютный приоритет. Если RT-процесс хочет CPU, ядро останавливает всё остальное, чтобы дать ему ресурсы.
Команды:
1. Посмотреть текущую политику процесса:
2. Сделать процесс "Бессмертным" (SCHED_FIFO): Внимание! Если этот процесс "зависнет" и съест 100% CPU, ваша система намертво зависнет.
Взгляд архитектора: Это инструмент для Low Latency систем. Но с великой силой приходит великая ответственность. Архитектор использует chrt только тогда, когда понимает риски и изолирует такие процессы (например, через isolcpus в параметрах ядра).
#linux #performance #kernel #realtime #sre #chrt #гайд
Боль: У вас есть критически важный процесс (например, VoIP-шлюз, база данных или процесс сбора метрик), который "заикается" или тормозит, когда сервер нагружен архивацией логов.
Реакция админа: renice -n -20 <PID>. (Это не поможет, если CPU загружен на 100%. Планировщик всё равно будет "честно" делить время).
Реакция архитектора: Использовать Real-Time Scheduler (SCHED_FIFO или SCHED_RR).
chrt — это утилита для управления планировщиком процессов.
Как это работает: Обычные процессы работают в классе SCHED_OTHER. Real-Time процессы (RT) имеют абсолютный приоритет. Если RT-процесс хочет CPU, ядро останавливает всё остальное, чтобы дать ему ресурсы.
Команды:
1. Посмотреть текущую политику процесса:
chrt -p 1234
# pid 1234's current scheduling policy: SCHED_OTHER
# pid 1234's current scheduling priority: 0
2. Сделать процесс "Бессмертным" (SCHED_FIFO): Внимание! Если этот процесс "зависнет" и съест 100% CPU, ваша система намертво зависнет.
# -f: FIFO (First In, First Out)
# -p 10: Приоритет 10 (от 1 до 99)
sudo chrt -f -p 10 1234
Взгляд архитектора: Это инструмент для Low Latency систем. Но с великой силой приходит великая ответственность. Архитектор использует chrt только тогда, когда понимает риски и изолирует такие процессы (например, через isolcpus в параметрах ядра).
#linux #performance #kernel #realtime #sre #chrt #гайд
🐧 Linux Kernel 6.12: Теперь официально Real-Time
Свершилось. После 20 лет разработки патчи PREEMPT_RT наконец-то вошли в основную ветку ядра (mainline) в версии 6.12. Это тектонический сдвиг.
Что это значит для нас? Раньше, чтобы Linux гарантировал реакцию на событие за микросекунды (нужно для роботов, станков, аудио-процессинга), приходилось патчить ядро вручную. Теперь любой дистрибутив с ядром 6.12+ может стать Real-Time системой "из коробки".
Бонус фича: QR-коды в панике 😱 Теперь при Kernel Panic (экран смерти) ядро может генерировать QR-код.
Больше не нужно переписывать hex-коды руками с монитора в серверной.
Навел камеру → получил лог ошибки на телефон.
Как проверить версию ядра:
Админы, обслуживающие embedded-системы и High-Frequency Trading — открывайте шампанское. 🍾
#linux #kernel #realtime #news #opensource
Свершилось. После 20 лет разработки патчи PREEMPT_RT наконец-то вошли в основную ветку ядра (mainline) в версии 6.12. Это тектонический сдвиг.
Что это значит для нас? Раньше, чтобы Linux гарантировал реакцию на событие за микросекунды (нужно для роботов, станков, аудио-процессинга), приходилось патчить ядро вручную. Теперь любой дистрибутив с ядром 6.12+ может стать Real-Time системой "из коробки".
Бонус фича: QR-коды в панике 😱 Теперь при Kernel Panic (экран смерти) ядро может генерировать QR-код.
Больше не нужно переписывать hex-коды руками с монитора в серверной.
Навел камеру → получил лог ошибки на телефон.
Как проверить версию ядра:
uname -sr
# Ожидаем: Linux 6.12.x-generic (скоро во всех репозиториях)
Админы, обслуживающие embedded-системы и High-Frequency Trading — открывайте шампанское. 🍾
#linux #kernel #realtime #news #opensource
⚡ Netdata: Мониторинг, который устанавливается за 10 секунд
Zabbix нужно настраивать неделю. Prometheus + Grafana — три дня. А что, если нужно увидеть всё и прямо сейчас?
Ставь Netdata.
Это агент мониторинга, который не требует настройки. Вообще. Ты запускаешь одну команду, и через минуту у тебя на порту :19999 открывается дашборд уровня Бог:
* Тысячи метрик (CPU, RAM, Disks, Network, Nginx, MySQL, Docker).
* Секундная детализация (Real-time).
* Красивые темные графики, которые можно зумить мышкой.
Установка (One-liner):
Идеально для диагностики "здесь и сейчас", когда нет времени писать конфиги, а сервер умирает.
#monitoring #netdata #devops #dashboard #tools #realtime
Zabbix нужно настраивать неделю. Prometheus + Grafana — три дня. А что, если нужно увидеть всё и прямо сейчас?
Ставь Netdata.
Это агент мониторинга, который не требует настройки. Вообще. Ты запускаешь одну команду, и через минуту у тебя на порту :19999 открывается дашборд уровня Бог:
* Тысячи метрик (CPU, RAM, Disks, Network, Nginx, MySQL, Docker).
* Секундная детализация (Real-time).
* Красивые темные графики, которые можно зумить мышкой.
Установка (One-liner):
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh
Идеально для диагностики "здесь и сейчас", когда нет времени писать конфиги, а сервер умирает.
#monitoring #netdata #devops #dashboard #tools #realtime
👍1👎1