tgoop.com/devopslib/37
Create:
Last Update:
Last Update:
🚀 Зачем DevOps-инженеру уметь читать ядро Linux?
Чтение кода ядра — звучит как занятие для академиков. Но на практике это скилл, который может однажды сэкономить тебе сутки дебага или открыть глаза на то, что происходит "под капотом".
📌 Когда это нужно:
- 🐛 Твой сервис падает на проде с segfault, и strace`/`gdb не дают внятной картины.
- 🔥 Системные лимиты или поведение cgroup'ов не совпадают с документацией.
- ⏱ Ты хочешь точно понять, что делает epoll_wait() или почему OOM killer прибивает твой процесс.
📖 Как начать:
1. Выбери версию ядра, с которой работаешь (uname -r тебе в помощь).
2. Клонируй исходники:
git clone https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
cd linux
git checkout v5.x.x # нужная версия
3. Ищи интересующие syscalls или подсистемы:
-
fs/, kernel/, mm/, net/, ipc/ — ключевые директории.-
grep -rn "do_fork" или grep -rn "epoll_wait" — твои друзья.🧠 Советы:
- Начинай с высокоуровневого понимания — читай документацию
kernel.org, LWN.net, статьи от разработчиков.- Используй
cscope, ctags или LSP в редакторе — иначе заблудишься.- Комментируй код для себя: через неделю забудешь, что понял.
Если ты начнёшь разбираться в ядре — ты уже на пути к тому, чтобы быть не просто DevOps, а системным ниндзя, которому по плечу всё — от тюнинга производительности до траблшутинга на голом железе.
Подпишись 👉 @devopslib
BY Библиотека девопса | DevOps, SRE, Sysadmin
Share with your friend now:
tgoop.com/devopslib/37
