Урок 1Анализ памяти: free -m, /proc/meminfo, slabtop, smem — интерпретация использованной против доступной памяти и поведения свопаЗдесь вы проанализируете поведение памяти с помощью free, /proc/meminfo, slabtop и smem. Раздел объясняет кэширование Linux, буферы и механизм возврата памяти, как интерпретировать использование свопа, и как обнаруживать утечки памяти, фрагментацию и неправильно настроенные лимиты.
Reading free -m and understanding cached memoryKey fields in /proc/meminfo for diagnosisUsing slabtop to inspect kernel slab usageUsing smem to attribute memory per processRecognizing swap thrashing and OOM risksУрок 2Использование сети и узкие места: iftop, nload, ss, netstat, ip -s link, tc, tcpdump — выявление насыщения сети и проблемных соединенийЭтот раздел охватывает диагностику использования сети и узких мест с помощью iftop, nload, ss, ip, tc и tcpdump. Вы научитесь выявлять насыщение, шумных соседей, состояния соединений и проблемы на уровне пакетов, которые приводят к замедлению приложений.
Monitoring live bandwidth with iftop and nloadInspecting sockets and states with ssUsing ip -s link to view interface errorsBasics of tc for shaping and rate limitingTargeted packet capture with tcpdumpУрок 3Задержки хранения и глубокий ввод-вывод: blktrace, bpftrace (базовые скрипты), fio для тестов — как измерять и интерпретировать задержки и пропускную способностьЭтот раздел охватывает задержки хранения и глубокий анализ ввода-вывода с помощью blktrace, базовых скриптов bpftrace и бенчмарков fio. Вы научитесь измерять задержки и пропускную способность, интерпретировать глубину очереди и различать лимиты устройств от проблем нагрузки.
Understanding latency, IOPS, and throughputUsing blktrace to inspect block I/O patternsIntroductory bpftrace scripts for disk latencyDesigning fio workloads that mimic productionReading fio reports and spotting bottlenecksУрок 4Исследование процессов: ps, фильтры top/htop, pgrep, pidstat, nice/renice — как найти процессы с высоким потреблением CPU и памятиВы научитесь исследовать процессы с помощью ps, фильтров top или htop, pgrep, pidstat и nice или renice. Раздел показывает, как выявлять задачи с высоким потреблением CPU и памяти, отслеживать ввод-вывод по процессам и корректировать приоритеты для снижения конкуренции.
Listing and filtering processes with psUsing pgrep and pkill safely and preciselyUsing pidstat for per process CPU and I/OFiltering top and htop by user or resourceAdjusting priorities with nice and reniceУрок 5Обзор системных ресурсов: top, htop, vmstat, mpstat, dstat — что показывает каждый и ожидаемые шаблоны выводаЗдесь вы научитесь читать снимки системных ресурсов с помощью инструментов вроде top, htop, vmstat, mpstat и dstat. Раздел фокусируется на понимании метрик CPU, памяти и нагрузки, а также распознавании нормальных против патологических шаблонов использования.
Key CPU, load, and memory fields in topUsing htop for interactive process analysisvmstat for run queue, swap, and I/O insightmpstat for per-CPU utilization and steal timedstat for combined multi-resource timelinesУрок 6Ввод-вывод диска и проверки файловой системы: iostat, iotop, sar -d, lsblk, df -h, du -sh, tune2fs, xfs_info — выявление узких мест ввода-вывода и низкого местаЭтот раздел фокусируется на вводе-вывода диска и здоровье файловой системы с помощью iostat, iotop, sar -d, lsblk, df, du, tune2fs и xfs_info. Вы научитесь выявлять насыщение, накопление очередей, ошибки файловой системы и низкий объем свободного места, которые ухудшают производительность.
Using iostat to spot busy and slow devicesUsing iotop to find I/O heavy processessar -d for historical disk utilization trendsChecking layout and types with lsblk and dfFinding space hogs with du and inode checksУрок 7Системные логи и журналирование: journalctl (systemd), /var/log/messages, /var/log/syslog, логи аутентификации — что искать и зачемЭтот раздел объясняет, как использовать journalctl systemd и классические файлы логов, такие как /var/log/messages, /var/log/syslog и логи аутентификации. Вы научитесь искать нужные шаблоны, фильтровать шум и использовать логи для анализа коренных причин.
journalctl basics and useful filtering optionsReading /var/log/messages and /var/log/syslogFinding errors, warnings, and rate-limited eventsAnalyzing authentication and sudo related logsCorrelating log timestamps with incidentsУрок 8Мониторинг на основе времени и исторический: sar, sysstat, collectl — сбор и чтение исторических метрик для корреляции событийВы научитесь собирать и интерпретировать исторические метрики с помощью sar, sysstat и collectl. Раздел объясняет, как планировать сбор данных, читать отчеты временных рядов и коррелировать аномалии производительности с изменениями конфигурации или развертываниями.
Enabling and configuring sysstat collectionUsing sar for CPU, memory, and I/O historyReading sar network and load average trendsUsing collectl for multi-resource timelinesCorrelating metrics with change windowsУрок 9Insights ядра и планировщика: dmesg, sysctl -a, параметры /proc/sys/vm — что раскрывают сообщения ядра и настройкиЗдесь вы изучите insights ядра и планировщика с помощью dmesg, sysctl и параметров /proc/sys/vm. Раздел объясняет, как сообщения ядра, настройки и поведение планировщика раскрывают аппаратные проблемы, неправильные конфигурации и опции настройки.
Reading dmesg for hardware and driver issuesListing and querying sysctl tunable valuesKey /proc/sys/vm parameters for memoryScheduler related kernel parameters overviewSafely persisting kernel tuning changesУрок 10Подход к определению коренной причины: пошаговое дерево решений для классификации проблем как CPU, RAM, дисковый ввод-вывод или сетьЭтот раздел представляет практическое дерево решений для анализа коренных причин. Вы научитесь классифицировать инциденты как ограниченные CPU, памятью, вводом-вывода диска или сетью, какие инструменты запускать в каждой ветви и как итеративно уточнять гипотезы с использованием собранных данных.
Initial triage and problem statementClassifying CPU versus I/O bound symptomsDistinguishing memory pressure from leaksIdentifying network versus local bottlenecksIterative hypothesis testing with metrics