Урок 1Аналіз пам'яті: free -m, /proc/meminfo, slabtop, smem — інтерпретація використаних проти доступних ресурсів пам'яті та поведінки swapТут ви аналізуватимете поведінку пам'яті за допомогою free, /proc/meminfo, slabtop та smem. Розділ пояснює кешування Linux, буфери та reclaim, як інтерпретувати використання swap та виявляти витоки пам'яті, фрагментацію та неправильно налаштовані ліміти.
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Затримки зберігання та глибший I/O: blktrace, bpftrace (базові скрипти), fio для тестів — як вимірювати та інтерпретувати затримки та пропускну здатністьЦей розділ охоплює затримки зберігання та глибший аналіз I/O за допомогою 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 та пам'яті завдання, відстежувати I/O на процес та коригувати пріоритети для зменшення конкуренції.
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Урок 6I/O диска та перевірки файлової системи: iostat, iotop, sar -d, lsblk, df -h, du -sh, tune2fs, xfs_info — виявлення вузьких місць I/O та низького просторуЦей розділ фокусується на I/O диска та перевірках файлової системи за допомогою 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, логи автентифікації — що шукати та чомуЦей розділ пояснює, як використовувати systemd journalctl та класичні лог-файли, такі як /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Урок 9Інсайти ядра та планувальника: dmesg, sysctl -a, параметри /proc/sys/vm — що розкривають повідомлення ядра та налаштуванняТут ви дослідите інсайти ядра та планувальника за допомогою 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, I/O диска чи мережіЦей розділ представляє практичне дерево рішень для аналізу корінної причини. Ви дізнаєтесь, як класифікувати інциденти як обмежені CPU, пам'яттю, I/O диска чи мережею, які інструменти запускати в кожній гілці та як ітеративно уточнювати гіпотези за допомогою зібраних доказів.
Initial triage and problem statementClassifying CPU versus I/O bound symptomsDistinguishing memory pressure from leaksIdentifying network versus local bottlenecksIterative hypothesis testing with metrics