LinuxCamp | DevOps
Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование. Админ (реклама): @XoDefender Чат: @linuxcamp_chat Менеджер: @Spiral_Yuri Биржа: https://telega.in/c/linuxcamp_tg РКН: https://clck.ru/3RWA3C
Show more📈 Analytical overview of Telegram channel LinuxCamp | DevOps
Channel LinuxCamp | DevOps (@linuxcamp_tg) in the Russian language segment is an active participant. Currently, the community unites 13 960 subscribers, ranking 9 131 in the Technologies & Applications category and 47 183 in the Russia region.
📊 Audience metrics and dynamics
Since its creation on невідомо, the project has demonstrated rapid growth, gathering an audience of 13 960 subscribers.
According to the latest data from 06 July, 2026, the channel demonstrates stable activity. Although there has been a change in the number of participants by -98 over the last 30 days and by -3 over the last 24 hours, overall reach remains high.
- Verification status: Not verified
- Engagement rate (ER): The average audience engagement rate is 27.85%. Within the first 24 hours after publication, content typically collects 10.66% reactions from the total number of subscribers.
- Post reach: On average, each post receives 3 888 views. Within the first day, a publication typically gains 1 489 views.
- Reactions and interaction: The audience actively supports content: the average number of reactions per post is 23.
- Thematic interests: Content is focused on key topics such as linuxcamp, ядро, linux, диск, docker.
📝 Description and content policy
The author describes the resource as a platform for expressing subjective opinions:
“Обо мне: C/C++/Linux эксперт. Говорим про разработку, Linux, DevOps, сети и администрирование.
Админ (реклама): @XoDefender
Чат: @linuxcamp_chat
Менеджер: @Spiral_Yuri
Биржа: https://telega.in/c/linuxcamp_tg
РКН: https://clck.ru/3RWA3C”
Thanks to the high frequency of updates (latest data received on 07 July, 2026), the channel maintains relevance and a high level of publication reach. Analytics show that the audience actively interacts with content, making it an important point of influence in the Technologies & Applications category.
mount | grep cgroup2
cat /sys/fs/cgroup/cgroup.controllers
Иерархия и контроллеры
Все группы - это директории внутри /sys/fs/cgroup. В каждой можно включить контроллеры и настроить лимиты. Процесс "попадает" в cgroup, когда его PID записывают в файл cgroup.procs.
Пример создания отдельной группы вручную:
cd /sys/fs/cgroup
mkdir test.slice
echo "+cpu +memory +io" > cgroup.subtree_control
cd test.slice
echo $$ > cgroup.procs # добавить текущий shell
Ограничение CPU
CPU в v2 настраивается через квоту и период. Так ядро решает, какую долю от одного ядра может использовать группа. Пример: не более 50% одного CPU:
echo "100000" > cpu.max # период 100 мс
echo "50000" >> cpu.max # квота 50 мс
Для полного запрета ограничения (no throttle):
echo "max" > cpu.max
Ограничение памяти
Ядро отслеживает все страницы памяти группы и сравнивает их с лимитом. При превышении включается reclaim, а в крайнем случае OOM внутри cgroup. Пример жёсткого лимита 512 МБ:
echo $((512 * 1024 * 1024)) > memory.max
Текущие значения и пики:
cat memory.current
cat memory.events
Ограничение дискового IO
Контроллер io задаёт лимиты на чтение и запись для конкретных устройств. Ядро контролирует количество операций и суммарную пропускную способность. Пример: ограничить чтение до 10 МБ/с для /dev/sda:
echo "8:0 rbps=10485760" > io.max
Узнать номера устройств:
lsblk --output NAME,MAJ:MIN
Вывод
cgroups v2 - это единая иерархия, где для каждой директории можно включить контроллеры CPU, памяти и IO, добавить процессы и задать жёсткие лимиты. Всё управление сводится к записи чисел и параметров в файлы внутри /sys/fs/cgroup, а дальше ядро само выполняет политику.
LinuxCamp | #overviewДо этой официальности 100 проц патчи только так и делали "с ИИ")LinuxCamp | #news
getconf PAGE_SIZE
Почему это быстро
Преобразование адресов кешируется в TLB - небольшой кеш мапинга страниц. Пока программа ходит по близким адресам, почти все обращения попадают туда без лишних затрат. Посмотреть информацию о TLB:
grep -i tlb /proc/cpuinfo
Что такое HugePages
HugePages увеличивают размер страницы до 2 МБ или 1 ГБ, уменьшая количество записей в таблице страниц и снижая TLB-промахи. Это ускоряет работу приложений с большими объёмами RAM.
grep -i huge /proc/meminfo
Применение, плюсы и минусы
Плюсы: меньше накладных расходов на управление памятью, стабильнее работа больших баз данных и аналитических систем. Минусы: крупные страницы требуют непрерывных блоков памяти, что усложняет управление и может приводить к фрагментации. На практике HugePages чаще всего включают для PostgreSQL, ClickHouse, JVM-сервисов и других систем, активно обходящих большие массивы данных.
Вывод
Страницы задают структуру памяти, TLB ускоряет доступ, а HugePages дают прирост там, где объёмы RAM велики и обращений много.
LinuxCamp | #storage
free -h
cat /proc/swaps
Что бывает без swap
Если swap отключен, анонимная память не имеет резервного хранилища. Ядро начинает выдавливать файловый кеш и чаще читать данные с диска. Система может подлагивать даже без формального OOM, а при резком росте нагрузки процессы быстрее попадают под OOM-killer. Можно отключить вот так (только для тестов!!!):
sudo swapoff -a
free -h
Как swap улучшает работу системы
При умеренной нагрузке swap позволяет убрать в подкачку старые, почти неиспользуемые данные процессов. Освободившаяся RAM идёт под кеш файловой системы, что уменьшает реальные обращения к диску. Балансом управляет параметр vm.swappiness:
cat /proc/sys/vm/swappiness # посмотреть
sudo sysctl vm.swappiness=40 # временно изменить
ZRAM и Zswap
ZRAM создаёт в ОЗУ сжатое блочное устройство и используется как быстрый swap. Zswap сжимает страницы перед записью в обычный swap и уменьшает объём дисковых операций. Оба механизма полезны на системах с медленным диском или небольшим объёмом памяти:
# Пример включения ZRAM вручную
sudo modprobe zram
echo 2G | sudo tee /sys/block/zram0/disksize
sudo mkswap /dev/zram0 && sudo swapon /dev/zram0
Вывод
Можно улучшить поведение системы под нагрузкой задав небольшой, но ненулевой swap, настроив vm.swappiness под свои диски и сценарии, а при необходимости использовать ZRAM/Zswap для уменьшения дискового I/O.
LinuxCamp | #swapzpool statusПосмотреть ФС:
zfs listCopy-on-Write ZFS не перезаписывает данные. Любое изменение → новая копия блока → обновление ссылок. Это защищает от порчи данных и позволяет делать быстрые снапшоты. Снапшот:
zfs snapshot tank/home@todayКонтрольные суммы Каждый блок данных хранится с checksum. Если блок повреждён, ZFS его обнаружит и попробует восстановить (если есть зеркало/RAID). Проверка целостности:
zpool scrub tankСжатие и дедупликация ZFS умеет прозрачное сжатие:
zfs set compression=zstd tank/dataДедупликация есть, но дорого стоит по памяти. RAID в коробке RAID - это способ объединить несколько дисков в одну систему так, чтобы увеличить скорость, защитить данные от выхода диска из строя или и то и другое сразу. В ZFS RAID встроен прямо в файловую систему. RAID1/5/6/10/50 доступны "из коробки". Не нужен LVM, mdadm, dm-crypt. Вывод ZFS выигрывает там, где важнее всего надёжность и контроль над данными. Уникальный набор инструментов, который точно пригодится, особенно в больших системах и там где важна надежность. LinuxCamp | #file_system
docker context create prod --docker "host=ssh://user@server"
Посмотреть доступные контексты:
docker context ls
Переключиться на нужный:
docker context use prodГде выполняются команды После переключения любая команда:
docker ps
docker compose up -d
docker compose down
выполняется на удалённом сервере, но файлы из текущей локальной директории не копируются на сервер.
Docker Engine на сервере получает только API-команды, но не получает ваши файлы.
Ограничения при работе с compose
Если в compose-файле есть:
build: . volumes: - .:/appудалённый Docker Engine не сможет найти эти пути, потому что это ваш локальный каталог, который не существует на сервере. Чтобы запуск через context работал, нужно использовать образы:
image: myapp:latestили заранее скопировать проект на сервер и запускать compose через SSH:
ssh user@server
cd /project
docker compose up -d
Важное про docker compose up --build
Команда, выполненная локально:
docker compose up --build
не передаёт ваш проект на сервер и не пересобирает его там. Для удалённого Docker Engine ваш каталог недоступен.
Вывод
Docker context только указывает, какой Docker Engine обслуживает ваши команды. Он не синхронизирует директории, не копирует файлы, не выбирает проект по имени папки на вашей машине.
LinuxCamp | #docker #devops
fsck.ext4 /dev/sdX
tune2fs -l /dev/sdX
Хорошо подходит если нужен простой, надёжный вариант без излишков - рабочие станции, обычные сервера, любые дефолтные сценарии.
XFS: скорость и параллелизм
Максимальная производительность на больших файлах и высокой параллельности. Не умеет уменьшать размер раздела и не имеет современного функционала вроде снапшотов или сжатия.
Инфа о разделе:
xfs_info /dev/sdX
Подойдет, когда важны большие объёмы и скорость - базы данных, file storage, сервисы с тяжёлыми нагрузками.
Btrfs: современный функционал
Система нового поколения: CoW, снапшоты, субтомы, встроенный RAID, сжатие, дедупликация, контрольные суммы. Гибкая и функциональная, но более требовательная к настройкам и дисциплине работы. Нужно быть аккуратней с данными, потому что есть мнение, что она все еще нестабильна.
Статистика по разделу:
btrfs filesystem df /mntЛучше использовать, если нужны снапшоты, откаты, экономия места, встроенный RAID и контроль целостности - dev-сервера, домашние машины, контейнерные среды, CI/CD. LinuxCamp | #file_system
Available now! Telegram Research 2025 — the year's key insights 
