Pelajaran 1Kapan membunuh, me-restart, atau membatasi proses: praktik kill aman, systemctl restart, dan menggunakan cgroups serta nice/renicePahami kapan harus membunuh, me-restart, atau membatasi proses dan cara melakukannya dengan aman. Pelajari jenis sinyal, pola kill aman, perilaku systemctl restart, dan cara menerapkan cgroups serta nice atau renice untuk membatasi dampak.
Memilih SIGTERM, SIGKILL, dan lainnyaMenggunakan kill dan pkill dengan pengamanMe-restart layanan dengan systemctlMembatasi CPU dengan nice dan reniceMembatasi sumber daya menggunakan cgroupsMendokumentasikan dan mengotomatisasi solusiPelajaran 2Menganalisis penggunaan swap dan kejadian OOM: dmesg, log kernel OOM killer, dan /var/log/kern.logSelidiki penggunaan swap dan kejadian Out Of Memory menggunakan free, dmesg, log OOM kernel, dan /var/log/kern.log. Pelajari cara mengenali thrashing, menyesuaikan swappiness, dan memutuskan kapan menambah RAM atau menyesuaikan batas.
Memeriksa penggunaan swap dengan free dan /procMengenali gejala thrashing swapMembaca dmesg untuk entri OOM killerMengurai detail /var/log/kern.logMenyesuaikan swappiness dan vm overcommitMemutuskan kapan menambah RAM atau menyesuaikan batasPelajaran 3Mengidentifikasi proses panas: ps, ps aux --sort, pgrep, pidstat dan memetakan PID ke layananPelajari cara mengidentifikasi proses panas atau bermasalah dengan cepat menggunakan ps, pgrep, pidstat, dan opsi pengurutan. Petakan PID kembali ke layanan, unit, dan kontainer untuk menghubungkan penggunaan sumber daya dengan komponen yang bertanggung jawab.
Mengurutkan output ps berdasarkan CPU dan memoriMenggunakan filter nama pgrep dan pkillMemantau statistik per-proses dengan pidstatMemetakan PID ke unit systemdMenghubungkan PID ke kontainer atau cgroupsMelacak proses bursty yang berumur pendekPelajaran 4Mengidentifikasi lonjakan sumber daya berulang: memeriksa cron, timer systemd, pekerjaan at, dan scheduler aplikasiJelajahi metode untuk mendeteksi lonjakan CPU, memori, dan I/O berulang dengan mengkorelasikan metrik dengan tugas terjadwal. Periksa cron, timer systemd, pekerjaan at, dan scheduler dalam aplikasi untuk menemukan dan memperbaiki pekerjaan yang bising atau tumpang tindih.
Mendaftar dan membaca crontab user dan sistemMemeriksa timer systemd dan unit kalenderMeninjau pekerjaan at dan jadwal satu kaliMelacak scheduler dan worker tingkat aplikasiMenkorelasi lonjakan dengan waktu eksekusi pekerjaanMenyempurnakan atau menjadwalkan ulang pekerjaan berulang bisingPelajaran 5Troubleshooting memori: free, /proc/meminfo, smem, pmap dan memeriksa kebocoran memoriKuasai keterampilan untuk troubleshooting masalah memori menggunakan free, /proc/meminfo, smem, dan pmap. Pelajari cara membedakan cache dari tekanan nyata, menemukan penggunaan per-proses, dan mengenali pola yang menunjukkan kebocoran memori atau fragmentasi.
Menginterpretasikan free dan memori tersediaMembaca field kunci /proc/meminfoMenggunakan smem untuk rincian per-prosesMemeriksa peta proses dengan pmapMengenali pola pertumbuhan kebocoran memoriMembedakan cache dari tekanan nyataPelajaran 6Integrasi dengan data monitoring (Prometheus, Grafana) dan menggunakan metrik historis untuk menentukan trenPelajari cara menggabungkan troubleshooting lokal dengan data Prometheus dan Grafana. Gunakan metrik historis, dashboard, dan peringatan untuk mengidentifikasi tren, regresi, dan pergeseran lambat, serta memvalidasi dampak perbaikan performa.
Meninjau dashboard CPU dan beban kunciMemeriksa panel memori, cache, dan swapMenganalisis grafik latensi disk dan jaringanMenggunakan PromQL untuk memotong metrik historisMenkorelasi deployment dengan perubahan metrikMemvalidasi perbaikan dengan tampilan sebelum dan sesudahPelajaran 7Beban vs saturasi CPU: interpretasi uptime, rata-rata beban dan hubungannya dengan core CPUJelaskan arti rata-rata beban sistem dan hubungannya dengan core CPU dan antrian eksekusi. Pelajari cara membedakan beban tinggi yang sehat dari saturasi CPU, dan korelasi beban dengan penantian I/O, pergantian konteks, dan latensi.
Membaca uptime dan rata-rata bebanMenghubungkan beban dengan jumlah core CPUMemisahkan tugas yang dapat dijalankan dan diblokirMengidentifikasi kasus saturasi terikat CPUMengenali beban yang didorong penantian I/OMenggunakan vmstat dan mpstat untuk konfirmasiPelajaran 8Mengumpulkan metrik sistem live: top, htop, vmstat, mpstat, iostat dan cara menginterpretasikan outputPelajari cara mengumpulkan dan menginterpretasikan metrik performa Linux live menggunakan top, htop, vmstat, mpstat, dan iostat. Pahami tampilan CPU, memori, dan I/O, field kunci, interval refresh, dan cara mengenali bottleneck secara real time.
Membaca penggunaan CPU di top dan htopMemantau memori dan swap di topMenggunakan vmstat untuk snapshot sistem luasMenganalisis statistik CPU dengan mpstatMemeriksa pola I/O disk dengan iostatMemilih interval sampling dan filterPelajaran 9Menggunakan perf, strace, dan ltrace untuk analisis proses mendalam dan kapan menggunakan masing-masingPahami kapan dan bagaimana menggunakan perf, strace, dan ltrace untuk analisis proses mendalam. Pelajari cara memprofil hotspot CPU, melacak panggilan sistem, memeriksa panggilan library, dan meminimalkan overhead sambil menangkap diagnostik yang dapat ditindaklanjuti.
Memprofil hotspot CPU dengan perf recordMelihat laporan perf dan grafik panggilanMelacak syscall dengan strace secara amanMemfilter output strace yang bisingMemeriksa panggilan library menggunakan ltraceMemilih alat yang tepat untuk setiap gejalaPelajaran 10Menggunakan alat profiling dan tracing ringan (py-spy, gdb, flamegraphs) untuk aplikasi PythonFokus pada profiling dan tracing ringan untuk aplikasi Python menggunakan py-spy, gdb, dan flamegraphs. Tangkap sampel stack di produksi, temukan jalur kode panas, dan interpretasikan flamegraphs tanpa menghentikan layanan.
Sampling stack Python dengan py-spyMenghasilkan dan membaca flamegraphsMelampirkan gdb dengan aman ke Python liveMenangani build yang stripped atau dioptimalkanMemprofil kode async dan multithreadedMengurangi overhead profiler di produksi